一、原则
1、在维护公共基类、工具类和二方库等可能影响到其他团队成员的代码之前,必须同其他团队成员讨论,达成共识后方可进行维护。
2、严格遵守源码签入规范,有助于发现代码漏洞,降低代码合并风险,降低远程仓库代码的出错概率,请务必细心、审慎,不要因为时间紧就跳过流程步骤。在保证质量的前提下,进度才有意义。
二、六步提交法
1、开始编码前,从远程仓库pull最近成功构建的代码(有助于减少代码合并冲突)。
2、编写功能代码和对应的单元测试(若无特殊情况工具类和二方库必写单元测试,业务代码可自行判断)。
3、本地构建
1)编译代码、执行本次commit对应的单元测试、运行代码,确保单元测试通过,程序运行正常,功能满足需求;
2)检查代码是否符合编码规范(建议使用静态代码检查工具自动检查);
3)执行commit预操作,逐行比对每个改动点,检查代码逻辑是否符合编码意图,注释是否遗漏;
4)填写commit信息,注意写明分支名称,本次提交关联的任务或者Bug编号;若有多个内容,应分点说明。建议完成独立的任务或者修复Bug就commit,尽量避免一个任务多次commit或者一次commit中包含多个任务。
提交信息样例1:
develop_3.0:1、[TASK QZA-339]Tyson WS Clinet 接入;2、jserver-parent增加ws client依赖包;
提交信息样例2:
master:1、[BUG QZA-433]足球-重要Tab增加本地缓存;
5)确认commit;
4、二次构建
1)从远程仓库pull最新代码到本地;若没有代码更新,可跳过步骤4;
2)若出现冲突,需谨慎合并代码;若不理解冲突代码,可叫上代码作者一起合并;
3)编译代码、执行本次commit对应的单元测试、运行代码,确保单元测试通过,程序运行正常,功能满足需求;
4)再次commit,比对改动点,填写commit信息;
5、push代码。
6、提交代码自动化构建(若有)
1)自动化工具监听代码提交,自动构建代码,执行单元测试,若构建失败或者单元测试执行失败,发消息通知团队;
2)依据“立即暂停原则”团队收到失败通知后,暂停新代码push,也不允许pull代码,直到接收到构建成功通知;问题代码作者需立即解决问题,重新提交。
技术群: 需要进技术群学习交流的请添加小编微信,切记备注:加群,对以上内容有什么疑问也可以直接和小编直接沟通交流!
小编微信:mm1552923
公众号:dotNet编程大全