3.2.2 检查议程与注意事项
在代码检查之前的几天,协调人将程序清单和设计规范分发给其他成员。所有成员应在检查之前熟悉这些材料。在检查进行时,主要进行两项活动:
1.由程序编码人员逐条语句讲述程序的逻辑结构。在讲述的过程当中,小组的其他成员应提问题、判断是否存在错误。在讲述中,很可能是程序编码人员本人而不是其他小组成员发现了大部分错误。换句话说,对着大家大声朗读程序,这种简单的做法看来是一个非常有效的错误检查方法。
2.参考常见的编码错误列表分析程序(错误列表将在下一节中介绍)。
协调人负责确保检查会议的讨论高效地进行、每个参与者都将注意力集中于查找错误而不是修正错误(错误的修正由程序员在检查会议之后完成)。
会议结束之后,程序员会得到一份已发现错误的清单。如果发现的错误太多,或者某个错误涉及对程序做根本性的改动,协调人可能会在错误修正后安排对程序进行再次检查。这份错误清单也要进行分析、归纳,用以提炼错误列表,以便提高以后代码检查的效率。
如上所述,这个代码检查过程通常将注意力集中在发现错误上,而不是纠正错误。然而,有些小组可能会发现,当检查出某个小问题之后,有两三个人(包括负责该代码的程序员本人)会建议对设计进行明显的修补以解决这个特例。那么,对这个小问题的讨论,反过来会将整个小组的注意力集中在设计的某个部分。在探讨修补设计来解决这个小问题的最佳方法时,有人可能会注意到另外的问题。既然小组已经发现了设计中同一部分的两个相关问题,那么每隔几段代码就可能需要密集的注释。几分钟之内,整个设计就被彻底检查完,任何问题都会一目了然。
在代码检查的时间及地点的选择上,应避免所有的外部干扰。代码检查会议的理想时间应在90~120分钟。由于开会是一项繁重的脑力劳动,会议时间越长效率越低。大多数的代码检查都是按每小时大约阅读150行代码的速度进行。因此,对大型软件的检查应安排多个代码检查会议同时进行,每个代码检查会议处理一个或几个模块或子程序。