SVN提交更新的一个准则

SVN提交更新的一个准则

查阅了一下网络和博客园,发现还没有一个明确地指导源码管理提交准则的相关文章,因此斗胆整理了一部分自己平时开发管理的心得,加上查阅了部分英文资料写了一个不算很完善的SVN提交准则。

负责而谨慎地提交自己的代码

SVN更新的原则是要随时更新,随时提交。当完成了一个小功能,能够通过编译并且并且自己测试之后,谨慎地提交。

如果提交过程中产生了冲突,则需要同之前的开发人员联系,两个人一起协商解决冲突,解决冲突之后,需要两人一起测试保证解决冲突之后,程序不会影响其他功能。

如果提交过程中产生了更新,则也是需要重新编译并且完成自己的一些必要测试,再进行提交。

保持原子性的提交

每次提交的间歇尽可能地短,以一个小时,两个小时的开发工作为宜。如在更改UI界面的时候,可以每完成一个UI界面的修改或者设计,就提交一次。在开发功能模块的时候,可以每完成一个小细节功能的测试,就提交一次,在修改bug的时候,每修改掉一个bug并且确认修改了这个bug,也就提交一次。我们提倡多提交,也就能多为代码添加上保险。

不要提交自动生成的文件

Visual Studio在生成过程中会产生很多自动文件,如.suo等配置文件,Debug,Release,Obj等编译文件,以及其他的一些自动生成,同编译代码无关的文件,这些文件在提交的时候不应该签入,如果不小心签入了,需要使用Delete命令从仓库中删除。

不要提交不能通过编译的代码

代码在提交之前,首先要确认自己能够在本地编译。如果在代码中使用了第三方类库,要考虑到项目组成员中有些成员可能没有安装相应的第三方类库或者没有放入GAC(针对.Net Framework)中,项目经理在准备项目工作区域的时候,需要考虑到这样的情况,确保开发小组成员在签出代码之后能够在统一的环境中进行编译。

不要提交自己不明白的代码

代码在提交入SVN之后,你的代码将被项目成员所分享。如果提交了你不明白的代码,你看不懂,别人也看不懂,如果在以后出现了问题将会成为项目质量的隐患。因此在引入任何第三方代码之前,确保你对这个代码有一个很清晰的了解。

提前宣布自己的工作计划

在自己准备开始进行某项功能的修改之前,先给工作小组的成员谈谈自己的修改计划,让大家都能了解你的思想,了解你即将对软件作出的修改,这样能尽可能的减少在开发过程中可能出现的冲突,提高开发效率。同时你也能够在和成员的交流中发现自己之前设计的不足,完善你的设计。

对提交的信息采用明晰的标注

+) 表示增加了功能

*) 表示对某些功能进行了更改

-) 表示删除了文件,或者对某些功能进行了裁剪,删除,屏蔽。

b) 表示修正了具体的某个bug

SVN提交更新的一个准则

查阅了一下网络和博客园,发现还没有一个明确地指导源码管理提交准则的相关文章,因此斗胆整理了一部分自己平时开发管理的心得,加上查阅了部分英文资料写了一个不算很完善的SVN提交准则。

负责而谨慎地提交自己的代码

SVN更新的原则是要随时更新,随时提交。当完成了一个小功能,能够通过编译并且并且自己测试之后,谨慎地提交。

如果提交过程中产生了冲突,则需要同之前的开发人员联系,两个人一起协商解决冲突,解决冲突之后,需要两人一起测试保证解决冲突之后,程序不会影响其他功能。

如果提交过程中产生了更新,则也是需要重新编译并且完成自己的一些必要测试,再进行提交。

保持原子性的提交

每次提交的间歇尽可能地短,以一个小时,两个小时的开发工作为宜。如在更改UI界面的时候,可以每完成一个UI界面的修改或者设计,就提交一次。在开发功能模块的时候,可以每完成一个小细节功能的测试,就提交一次,在修改bug的时候,每修改掉一个bug并且确认修改了这个bug,也就提交一次。我们提倡多提交,也就能多为代码添加上保险。

不要提交自动生成的文件

Visual Studio在生成过程中会产生很多自动文件,如.suo等配置文件,Debug,Release,Obj等编译文件,以及其他的一些自动生成,同编译代码无关的文件,这些文件在提交的时候不应该签入,如果不小心签入了,需要使用Delete命令从仓库中删除。

不要提交不能通过编译的代码

代码在提交之前,首先要确认自己能够在本地编译。如果在代码中使用了第三方类库,要考虑到项目组成员中有些成员可能没有安装相应的第三方类库或者没有放入GAC(针对.Net Framework)中,项目经理在准备项目工作区域的时候,需要考虑到这样的情况,确保开发小组成员在签出代码之后能够在统一的环境中进行编译。

不要提交自己不明白的代码

代码在提交入SVN之后,你的代码将被项目成员所分享。如果提交了你不明白的代码,你看不懂,别人也看不懂,如果在以后出现了问题将会成为项目质量的隐患。因此在引入任何第三方代码之前,确保你对这个代码有一个很清晰的了解。

提前宣布自己的工作计划

在自己准备开始进行某项功能的修改之前,先给工作小组的成员谈谈自己的修改计划,让大家都能了解你的思想,了解你即将对软件作出的修改,这样能尽可能的减少在开发过程中可能出现的冲突,提高开发效率。同时你也能够在和成员的交流中发现自己之前设计的不足,完善你的设计。

对提交的信息采用明晰的标注

+) 表示增加了功能

*) 表示对某些功能进行了更改

-) 表示删除了文件,或者对某些功能进行了裁剪,删除,屏蔽。

b) 表示修正了具体的某个bug


相关内容

  • 软件部管理制度
  • 软件管理制度(暂定) 为进一步加强软件部门管理,提高各工程师工作效率,发挥每一位的主观能动性,创造良好的工作氛围,更好的推进部门各项目进度,并为下一步更好地开展项目创造良好的条件和工作环境.制定该制度,该制度进一部明确了部门人员工作职责,制定源码管理制度.程序打包管理.版本管理和其他日常管理制度. ...

  • 集成SVN源码管理和Mantis缺陷跟踪
  • 要集成Mantis和SVN,需要几个工具: SVN客户端,有个windows下的很不错的工具,TortoiseSVN,完全集成在explorer里,下载地址: http://tortoisesvn.net/ SVN服务端,这个应该都有吧. Mantis缺陷跟踪系统,用php开发.轻量级的缺陷跟踪系统 ...

  • 项目文档管理办法
  • 项目文档管理办法 (V1.1版本) 2015-04-14 1 引言 1 .1编写目的 制订统一的文档管理办法及格式,对项目过程中产生的项目有关资料提供规范,便于在今后项目开展过程中对各项资料的查找和相互交流 ,以利项目开发及进展: 制订项目开发过程中的评审和查阅规范,明确相应的管理人员 责任. 2 ...

  • 微信开发步骤(一)
  • 1. 注册微信公众平台账号(推荐服务号,服务号可开发功能比订阅号多.) 服务号 订阅号 2. 下载微信官方API(wx_sample.php文件),建议使用Dreamweaver打开. 3. 进入微信公众号,点击"功能 -> 高级功能".使用开发模式. 4. 注册" ...

  • 软件配置管理规范
  • 配置管理规范 文件编号:QMS -PROC -SCM03 版本:1.2 受控签章 修改历史 1 目的和范围 本规范是为了配合公司配置管理流程文件的执行所给出的配置管理活动中配置项用命名.角色定义及权限分配规范,目的是给配置管理流程的使用人员详细的操作指南. 2 目标 配置管理活动相关人员通过本规范的 ...

  • 研发中心产品版本管理规范
  • ××××网络 产品版本管理规范[草稿] 目录 1. 引言.......................................................................................................................... ...

  • 2年工作经验-Android工程师
  • 个人简历 RESUME 钟佩桓_2年工作经验_安卓工程师 人概况 ● ● ● ● ● 姓 名:钟佩桓 性 别:男 电 话:[1**********] 年 龄:24 E-mail :[email protected] 学 历:本科 毕业院校:西南科技大学 工作年限:二年 现住地址:四川资阳 专 业:计 ...

  • 项目管理工具 RedMine
  • 前言: http://topic.csdn.net/u/20090319/11/87edeccb-9d47-4f20-92e8-71b30c793029.html 项目管理是个很繁琐的事情,任务的分配与进度的跟踪又是最烦的,所以借助于工具就很有必要了,特别像我这种已到中年之人,如果是20年前,这样的 ...

  • 开发管理规范和验收标准模板
  • 开发管理规范和验收标准 1 角色与职责 2 乙方开发内容 2.1 乙方开发内容 参考附件一中的功能列表,验收时要包含所列出的所有功能和针对这些功能中双方确认的功能细节,功能的细节是通过交互设计的文档进行补充和双方沟通的方式进行确认. 2.2 版本控制 乙方开发代码统一在甲方的配置管理工具(SVN ) ...