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

04-18 13:44