1、什么是Code Review?
Review代码评审是指在软件开发过程中,通过对源代码进行系统性检查的过程。通常的目的是查找各种缺陷,包括代码缺陷、功能实现问题、编码合理性、性能优化等;保证软件总体质量,提供开发者自身水平。
Code Review是轻量级代码评审,相对于正式代码评审,轻量级代码评审所需要的各种成本要明显低得多,如果流程正确,它可以起到更加积极的效果。因此,轻量级代码评审经常性地被引入到软件开发过程中。[摘自网络]
2、为什么Code Review?
提高代码质量;
及早发现潜在缺陷,降低修改缺陷的成本;
促进团队内部知识共享,提供团队整体水平;
评审过程中对于评审人员 来说,也是一种思路重构的过程;
是一个传递知识的手段,可以让其他并不熟悉代码的人知道作者的意图和想法,从而可以在以后轻松维护代码;
鼓励程序员们相互学习对方的长处和优点;
可以被用来确认自己的设计和实现是一个清楚和简单的
3、如何做Code Review
Code Review 检查什么
结构问题
重复拷贝代码(不封装函数、不用泛型等)
函数过长(有人说超过一屏幕就叫过长,见仁见智)
错误封装(不恰当的public、不用interface、不内聚、强耦合、在类中封装了无关的方法等)
内容错误(多个无关类置于一个文件、不恰当的命名等)
慎用全局变量,尽量不用。
业务逻辑问题
就是审查业务逻辑是否理解一致,必要的时候需要引入产品方确认。
编程素养问题
很多问题属于“这样也行、那样也行”的状态,比如命名、初始值、缩进、断行等
举例:boolean result=true;
检查软件升级,添加或修改的代码,是否会影响其他部分
做Code Review,应该“少吃多餐”
每次5分钟、10分钟
每天2~3次甚至更多
一些建议
编程开始前,对程序员做编程规范的培训
结对编程
引入工具(FindBugs、CheckStyle、PMD)
4、工具介绍
做Code Review的一些工具
检查bytecode中的bug patterns,允许自定义bug patterns
CheckStyle
检查java源文件是否与代码规范相符。
PMD
检查System.out.print、printStackTrace,没有打印语句
空try…catch…finally、if/while等
未使用的局部变量、参数和private方法等
复杂的表达式和类,不必要的if语句等