最近一个项目,c#+.net3.5做的,代码管理用的TFS,开发小组配备不是很齐全,没有专门的测试人员,加上组员们对TFS不熟悉,有的还是java转过来的,于是整理了一下以前的规范,强制大家执行,看了一下网上的,这方面资料也不多,粘上来献丑了
1)开发平台的约定
a)开发操作系统环境和最终用户使用环境(包含Service Pack版本号)
开发环境:Windows2003SP2 Windows7
用户环境:Windows2003SP2 SP1 WinXP
b)开发工具版本
Vs2008SP1 + TFS团队资源管理器
c)数据库类型已经版本
SQLServer2008
d)版本控制工具
TFS
e)开发规范的执行问题
《C#代码规范》
2)工作方式的约定
a)开始工作前的行为(每天开始工作先签出代码) 时间:8:30-9:30
注意、
1、根据需要,签出你所需要修改的代码(注:在签出代码时,你的签出文件会和服务器同步)不要签出所有代码
2、修改代码时,不要改动你签出文件中他人的方法,如必需改动的,请与该方法作者协商
3、方法体不要太长,尽量不要超过20行,多进行重构
4、当一个方法完成时,请马上构建单元测试,并测试通过
5、单元测试需可重复测试,不要出现只能测试一次,下次测试必须修改数据库才能再测试的问题
b)每日签入的行为(每天需签入当日全部开发代码) 时间:11:00-12:00 17:00-18:00
签入步骤:
1、签入代码前先选择“获取服务器上最新版本(递归)”(不会对你的已签出文件覆盖)
2、编译解决方案下所有工程
3、解决编译冲突
4、运行单元测试
5、提交签入你的签出文件
c)版本控制行为(代码commit的要求和发生冲突的解决办法)
解决顺序 1、出现冲突时尽量不要选择自动合并
2、自动合并解决不了的请选择解决按钮,选择手工合并
d)注意事项1、打开解决方案时在网络环境允许的情况下一定要连接团队开发服务器
3、禁止用Ctrl+A 后再到其它文件中用Ctrl+C 、Ctrl+V的方式回写覆盖代码
4、签入代码时请在说明栏写简单说明
5、签入代码时关联有效工作项,并根据当前情况选择“关联”或“解决”
5)单元测试的使用约定
1、单元测试必须测试类中所有的方法
2、尽量扩展单元测试的范围,譬如在OrgCompany类中ID为int值,如果我给此值赋一个浮点值1.2323288或一个大数1292310843812834923812348方法是否能健康捕捉错误并返回报错信息等
3、单元测试中不仅要测Assert.IsEqual还要假设Assert.IsNotEqual Assert.IsNull等多种测试,一个方法可对应多个测试方法
4、每个程序员对自己的单元测试负责,要做到每日运行至少两遍自己的单元测试
开发规范的执行问题
1)制定问题
a)鼓励全部的项目开发人员都参与规范的制定
b)鼓励程序员交叉测试bug,报组长审批后登记到TFS,并以bug数做为项目考核奖励及扣罚标准
2)执行问题
a)依照开发规范对于代码进行检测,对于存在问题要求修正。
b)通过团队内部人员交叉检测的方式来执行开发标准