本文章转载于搜狗测试
今天,我们来聊一聊软件质量控制其中一个非常重要的环节:代码Review。
代码Review作用
1.提高软件的质量。软件的质量控制中,代码Review其实是非常重要的一个环节,它可以发现大量的问题并且很有效。微软曾经做过类似的统计,结果显示:用代码Review这种一步到位的方法找出并修改一个错误要花费3个工作时,而通过测试这种两部完成的方法则要花费12个工作时。在一个由400名程序猿创建的有70万行代码的程序中,代码Review的成本收益要比测试高出好几倍。因此,代码Review对于质量控制具有很大的作用。
2.提高开发人员的代码能力。通过代码Review可以发现开发人员编写代码中的各类问题,比如:变量命名、代码结构设计、算法实现、注释说明等问题,通过问题的交流,也会提升开发人员的代码能力。
代码Review的角色
开发Leader或有经验的开发人员对他人进行Review(一般多是这种情况)
开发人员之间相互Review
测试人员对开发代码进行抽查。小编曾经在测试项目过程时会Review代码,经常会发现开发复制粘贴时没有修改变量名的问题,屡试不爽。
代码Review形式
为了保证代码Review这一环节能够贯彻执行下去,需要一定的手段来保证流程运转。有些团队采用的是"自律性"方法,即在提交代码之前进行Review工作,然后将Review情况在changelog中体现,例如:
这种方法的弊端是完全依赖于开发人员的规范执行情况,如果出现新人或者自律性不足,那么Review工作有可能就不会执行下去。
代码Review系统
代码Review系统是小编所在团队正在使用的方法,它可以有效解决以上规范执行的问题,它的工作流程大概如下:
1.开发人员提交代码。代码不会马上进入SVN库,而是会先提交到Review board系统。
2.代码的Diff查看。其他具有Review权限的人员对提交记录进行Diff内容查看。
点击右上角的View Diff,查看变更内容。
3.Review通过。如果代码没有问题,点击提交记录中右上角的Ship it!,代码通过Review自动进入SVN库中。
备注:有些项目会设置必须超过n个人(n可以配置)Review通过,代码才会进入SVN库中。
4.Review不通过提出问题。如果代码存在疑问,在Diff代码界面中,可以对有问题的代码行进行备注或者提交问题。
以上为代码Review的大致使用方法。