任务:复审代码
此任务描述了如何复审代码以验证实施。
规程:实施
关系
角色主执行者: 其他执行者:
输入必需:
    可选:
    输出
      流程使用情况
      步骤
      一般建议
      目的 每次复审的一般建议。

      当构造高质量软件时,复审实施是对其他质量机制(如编译、集成和测试)的补充。在复审实施之前,先编译并使用工具(如代码规则检查程序)捕获尽可能多的错误。考虑使用可使代码可视化的工具。如果使用运行时错误检测工具执行代码,则在实施复审之前也会检测和消除更多错误。

      复审实施的好处是:

      • 对项目强制实施和鼓励使用通用的编码样式。代码复审是使成员遵循编程准则的有效方法。 为了保证这一点,复审所有作者和实施者得出的结果比复审所有源代码文件更重要。
      • 查找自动化测试未能发现的错误。实施复审捕获的错误与这些测试不同。
      • 在个人之间共享知识,并将知识从较有经验的人员传授给缺乏经验的人员。

      存在几种技术可用于复审实施。使用以下技术之一:

      • 检查。详细检查实施的正式评估技术。 检查被视为最有成效的复审技术,但它需要培训和准备工作。
      • 走查。一种评估技术,其中实施作者带领一个或多个复审人员通过实施。复审人员询问问题,并且就技术、样式、可能错误、编码标准违例等方面给出意见。
      • 读代码。一两个人员读代码。当复审人员准备就绪时,他们可开会并提出意见和问题。不过可以省略会议,复审人员可将意见和问题以书面的形式交给作者。建议通过读代码验证小的修改并作为“健康检查”。

      此角色的技能需求与实施者角色的需求类似;扮演此角色的人员通常被视为用于复审代码的编程语言方面的专家。在大多数项目中,此角色由来自实施团队的高级程序员来担任。

      另请参阅技术:复审

      建立实施检查点
      目的 建立用于复审实施的核对表。 


      此部分提供了复审实施的常规核对表,作为在复审中查找内容的示例。编程准则应是代码质量的主要信息源。

      概要

      • 代码遵循编程准则吗?
      • 代码是自说明的吗?有可能通过阅读代码来了解代码吗?
      • 代码规则检查和/或运行时错误检测工具检测出的所有错误都已处理了吗?

      注释

      • 注释是最新的吗?
      • 注释是明确和正确的吗?
      • 如果代码变化,注释易于修改吗?
      • 注释侧重于解释为什么而不是如何的吗?
      • 对于所有意外、异常情况和变通方法错误都做了注释吗?
      • 对每个操作的目的都做了注释吗
      • 关于每个操作的其他相关情况都做了注释吗?

      源代码

      • 每个操作都具有描述操作内容的名称吗?
      • 参数具有描述性名称吗?
      • 通过每个操作的正常路径与其他异常路径明确可区分吗?
      • 操作过长吗?可以通过将相关语句抽取到私有操作中来简化此操作吗?
      • 操作过长吗?可以通过减少决策点个数来简化此操作吗?决策点是代码择取不同路径的语句,例如 ifelseandwhilecase 语句。
      • 循环嵌套是最少的吗?
      • 变量命名恰当吗?
      • 代码是直接了当并避免了“耍小聪明的”解决方案的吗?
      准备复审记录并记录缺陷
      目的 记录复审结果。
      确保记录已确定的缺陷。 


      每次复审会议之后,会议结果必须记录在复审记录中。此外,缺陷必须记录在变更请求中(并最终指派给拥有和促成解决方案的人)。