1、发现代码中的bug;
2、从代码的易维护性、可扩展性角度考察代码的质量,提出修改建议。
1、代码中的bug主要会出现在下列两个地方:
(1) 与商业逻辑无关的bug。
比如,系统中打开的流/文件/连接等没有及时关闭;或是存在thread safe问题,或是存在性能低下问题等,这类问题对有经验的开发人员是比较容易发现的。
2、与商业逻辑相关的bug。
这类bug是非常隐蔽的,如果有对产品不熟悉的人参与该产品的项目开发,容易出现这类的bug。为了避免这类bug的出现,我们除了在Use Case和Test Case中详细描述以正确指导开发人员并在测试时能及时发现它之外,Code Review也是不可缺少的保证环节。
我们希望代码的审核者对产品非常熟悉。
3、什么样的人承担代码审核者Code Reviewer?
(1)、比较熟悉相关商业逻辑。
(2)、有丰富的编程经验。
两者缺一不可。
4、代码Code Review的步骤,这些是我在平时工作中的经验总结,目前也是按照这个步骤在做。
(1)、代码编写者和代码审核者坐在一起,由代码编写者按照UC依次讲解自己负责的代码和相关逻辑,从Web层->DAO层;
(2)、代码审核者在此过程中可以随时提出自己的疑问,同时积极发现隐藏的bug;对这些bug记录在案。
(3)、代码讲解完毕后,代码审核者给自己安排几个小时再对代码审核一遍。
代码需要一行一行静下心看。同时代码又要全面的看,以确保代码整体上设计优良。
(4)、代码审核者根据审核的结果编写“代码审核报告”,“审核报告”中记录发现的问题及修改建议,然后把“审核报告”发送给相关人员。
(5)、代码编写者根据“代码审核报告”给出的修改意见,修改好代码,有不清楚的地方可积极向代码审核者提出。
(6)、代码编写者 bug fix完毕之后给出反馈。
(7)、代码审核者把Code Review中发现的有价值的问题更新到"代码审核规范"的文档中,对于特别值得提醒的问题可群发email给所有技术人员。
5、责任:
代码编写者,代码审核者共同对代码的质量承担责任。这样才能保证Code Review不是走过场,其中代码编写者承担主要责任,代码审核者承担次要责任。
6、Code Review必备的文档:
“代码审核规范”文档:记录代码应该遵循的标准。代码审核者根据这些标准来Code Review代码,同时在Code Review过程中不断完善该文档。