一.提交之前先更新

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

2.         如果在修改的期间别人也更改了svn的对应文件,那么commit就可能会失败。如果别人和自 己更改的是同一个文件,那么update时会自动进行合并,如果修改的是同一行,那么合并时会产生冲突,这种情况就需要同之前的开发人员联系,两个人一起协商解决冲突,解决冲突之后,需要两人一起测试保证解决冲突之后,程序不会影响其他功能。

3.         在更新时注意所更新文件的列表,如果提交过程中产生了更新,则也是需要重新编译并且完成自己的一些必要测试,再进行提交。这样既能了解别人修改了哪些文件,同时也能避免SVN合并错误导致代码有错

二.保持原子性的提交

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

三.提交时注意不要提交本地自动生成的文件

一般配置管理员都会将项目中一些自动生成的文件或者与本地配置环境有关的文件屏蔽提交(例如eclipse中的.classpath文件等)。如果项目中没有进行这方面的配置来强行禁止提交这样的文件,请自觉不要提交这样的文件。提交了这样的文件后,别人在更新后就可能与本地的环境冲突从而影响大家的工作。

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

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

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

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

六.提前协调好项目组成员的工作计划

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

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

在一个项目组中使用SVN,如果提交空的标注或者不确切的标注将会让项目组中其他的成员感到很无奈,项目经理无法很清晰的掌握工作进度,无法清晰的把握此次提交的概要信息。在发现错误后也无法准确的定位引起错误的文件。所以,在提交工作时,要填写明晰的标注,能够概要的描述所提交文件的信息,让项目组其他成员在看到标注后不用详细看代码就能了解你所做的修改。

八.慎用锁定功能

在项目中要慎用锁定的功能,在你锁定了一个文件之后别人就无法继续修改提交该文件,虽然可以减少冲突的发生率,但是可能会影响项目组中其他人员的工作。平时只有在编辑那些无法合并的文件(例如图片文件,flash文件等)时,才适当的采用锁定操作。

另附:

1、文件提交时要求必须提交注释,注明相关修改信息,例如bug号、任务描述等。具体内容可采用约定或者设置的形式。

  2、你所提交的改变将体现给其他开发者,要明白提交的后果,提交之前要慎重。

  3、代码变动及时提交,避免丢失本地修改后无法恢复。

  4、在提交之前要编译代码并修正错误。要保证新增加的文件同时被提交,否则只在你本地能正常工作,导致其它人不能编译通过。

  5、提交之前要测试所改变的应用,测试改变后的效果是否达到预期的目的。

  6、多次检查提交的内容。提交之前应先做SVN更新或与资源库同步,注意到SVN关于冲突、错误的信息。资源库同步会告诉你将要提交的内容与资源库内容之间的差别,确认它们是不是你真正想要提交的。

  7、尊重其他开发者的代码,在重大变更之前与他们协商。SVN并不能替代开发者之间的交流。

  8、提前宣布修改计划。当你计划进行修改,需要影响到SVN里的许多文件时,先通过邮件或者当面通知其他开发者。例如,修改底层数据库模块时,有可能影响到业务逻辑层调用数据库模块的地方。这样其他开发者会有准备,也会对修改提出意见和建议。

  9、使用自动提交。SVN一次可以提交多个文件,所以,请一次提交所有相关的文件,即使它们不在目录下。这样可以确保代码在提交前后都是正确的。

  10、不要将格式修正和代码修正混合提交。修正代码格式包括增加缩进、减少空格等,如果把它们同代码修正一起提交,很难从日志或资源库同步信息里发现代码的修正。所以应该把修正问题与修正格式分开提交。

  11、每次提交尽量是一个最小粒度的修改。比如一个debug提交一次,一个小功能提交一次。

  12、每日进行开发工作之前更新代码。避免与昨天其他开发者的代码冲突。

  13、所有的代码文件编码格式应该是UTF-8的。包括的类型如java,jsp,xml,php,html等。

  14、提交的文件必须是开发者共用的程序文件,私人测试程序、程序缓存、图片缓存文件不要提交到SVN里。作为一个特例,eclipse的工程配置文件.project可以提交到SVN。一些常见的文件和目录可以加到SVN属性的忽略列表里,包括Thumbs.db、/build/、*.class、/classes/、/data/等等。

最新文章

  1. U3D学习笔记1: HelloWorld
  2. 设计模式之美:Template Method(模板方法)
  3. WIN7 共享网络方法
  4. Android控件开发之Chronometer(转)
  5. Python3基础 把一个列表中内容给另外一个列表,形成两个独立的列表
  6. AIM Tech Round 3 (Div. 2) B
  7. chrome比较好用的网站整页(超长网页)截图插件
  8. Ruby相关图书推荐
  9. EdasStudio 开发工具用户手册
  10. Nginx 开启 debug 日志的办法
  11. c语言scanf详解
  12. 基于 HTML5 WebGL 的 3D 网络拓扑图
  13. Linux 桌面玩家指南:13. 使用 Git 及其和 Eclipse 的集成
  14. awk和sed截取nginx和tomcat时间段日志
  15. 甘果移动老甘:移动互联网变迁中的App和小程序
  16. 洛谷P2243 电路维修
  17. UGUI脚本添加Btn回调的方法
  18. zabbix实现QQ邮件报警通知--技术流ken
  19. 快速搭建python程序
  20. 用lua编写wireshark插件分析自己定义的协议

热门文章

  1. GPS基础
  2. 7.xmpp版即时聊天
  3. 贪心 URAL 1303 Minimal Coverage
  4. 判断 ACdream 1202 Integer in C++
  5. python 代码片段5
  6. TYVJ P1022 进制转换 Label:坑
  7. [Unity2D]精灵动画
  8. 【POJ】1151 Atlantis(线段树)
  9. FireFox火狐浏览器与IE兼容问题 - 透明滤镜 DIV滚动条
  10. mybatis 调用存储过程 返回游标 实例