代码审查是保证软件产品开发建设质量的一个重要方面,它可以在缺陷进入产品之前就发现并改正它们,有效的避免软件产品在开发过程中出现偏差。
代码审查是开发人员在对某个模块的代码(必须编译通过)依据设计说明书完成编码后,进行的代码评审活动。代码审查前要在内部统一标准,明确质量目标。评审中,除了看编码是否符合设计外,还应兼顾三个层面:第一层关注的是“单元”,一般是一个方法或一个类,需要查找代码层面的错误,比如异常的捕捉、空指针的检查及关键字的使用是否正确等;第二个层面关注的是接口和流程,包括传入的参数检查、返回值检查及流程能否顺利地进行和正确串联等;第三个层面关注的是功能层面和业务逻辑,这时发现更多的应该是逻辑错误和功能缺陷。
代码审查的另一个重要内容是看代码是否遵守编程规范,是否具有可读性和可维护性,注释是否充足等。按编程规范编码对提高代码的可读性以及降低编码的出错率至关重要,在大型项目中,具备可读性、规范性的代码是日后进行有效维护的保障。因此,代码审查不仅可以保证代码的质量,更能有效地促进整个项目的编码水平。
一个标准的代码审查活动应该分为三个阶段:
一、事前准备阶段
在代码审查前,应对以下内容进行充分准备。
1.代码审查的对象。在准备代码审查对象时,应注意代码的数量,如果代码量比较大,要对代码进行必要的分解,确定其中的关键代码。
2.代码审查内容。测试人员必须设定本次代码审查活动内容界限,确定审查重点。
3.评审规范和标准。在代码审查前设计确定评审规范和标准是必要的。通过规范和标准可以确保在审查过程中有据可依,有理可循,而且还可以统一标准。
4.选择代码审查活动的参与者。在代码审查开始前,必须把本次代码审查活动的对象、审查内容以及审查的规范和标准通报给所有的参与者。
5.选择代码审查活动的实施方式。代码审查有很多形式可供选择,可以根据实际情况选择桌面式代码审查、演示讲解式代码审查、一对一的座位代码审查等。
二、实施阶段
充分的事前准备,是做好代码审查活动的前提,但在代码审查实施过程中,需要做好以下工作:
1.准确记录。对于代码审查过程发现的问题,必须清晰准确的记录,可以使用问题记录单,明确记录的项目和内容。
2.代码审查过程中,要采用代码作者讲解和审查者提问方式。审查者不能只在发现问题时提问,同时也要根据本次审查的内容要求代码作者对某个特定问题的讲解。
3.对事前确定的审查内容,要逐项审查,不能因为时间不足等因素一扫而过。
三、事后跟踪跟踪
代码审查结束后,对发现的问题,首先需要确定以下内容:
1.问题的难易程度以及影响的范围;
2.解决问题的责任者和问题修改结果的确认者;
3.解决问题的时限。
其次是对于修改问题责任者,在问题的修改过程中,要记录三方面内容。
1.产生问题的原因;
2.解决问题的对策;
3.修改的内容。
做为修改结果的确认者,必须按照事前约定的时限及时的对修改结果进行全面的确认。