本主题提供了 SOAtest 和其他支持它的 Parasoft 产品中可用的代码审查功能的概述。

本章包含:

代码审查概要

Parasoft 的代码审查模块旨在通过自动化准备、通知和跟踪,使同行评审更加实用和富有成效。它自动识别更新的代码,将其与指定的审阅者匹配,并跟踪每个审阅项的进度,直到关闭为止。这允许团队建立一个防弹审查程序,确保评审指定的项目并解决所有确定的问题。 

Parasoft 为以下典型的代码审查流提供了内置支持:

  • Post-commit: 该模式是基于通过自定义源控制接口,对数据资源库中的更改进行自动化识别。审查任务是基于更改代码到评审者的预配置映射创建的。
  • Pre-commit: 用户可以通过选择分发以进行审查的文件集从桌面启动代码审核,或者自动识别所有本地变更的源代码。
  • Task-driven: 用户可以通过选择与特定 Parasoft 任务相关的文件从桌面启动代码审核。对于这些文件是否提交至源代码控制来说,这并不重要。

代码审查要求团队服务器和至少一个 Parasoft 测试服务器版本。

工作流概要

有两个主要的工作流变量:default vs. restricted 和 pre-commit vs. post-commit vs. task-driven。

Default vs. Restricted

在受限制的工作流中,审阅者必须接受每个问题。如果作者不同意审阅者的建议,则他需要与审阅者进行讨论。 

默认工作流更加开放:在作者接收到审阅者的评论时,他可以选择将它们应用到代码中,也可以让代码保持原样。

Pre-Commit vs. Post-Commit vs. Task-Driven

Pre-Commit

Pre-commit 代码审查是为那些希望在将代码添加到源代码控制之前进行评审的团队准备的。当开发人员准备审查新的/修改的代码块时,他们从 SOAtest UI 运行代码审查测试配置,然后审阅者会自动得到所需评审的通知。 

Post-Commit

Post-commit 代码审查是为那些希望在将代码添加到源代码控制之后进行评审的团队准备的。代码审查测试配置通常定期自动运行(例如,每 24 小时)。它扫描指定的源代码控制资源库,以识别要求审查的代码,然后将该消息发送至团队服务器,后将其分发给指定的审阅者。在该场景中,代码作者不需要指定任何特别的操作来审查他们的代码;只需将其提交至源代码控制即可。代码审查测试配置运行之后,指定的审阅者将自动收到所需评审的通知。 

在预提交过程中,代码审查包是为提交到源代码控制之前需要被接受的代码创建的。在这种类型的过程中,作者应该始终看到包最终被接受。此时,他可以提交文件,然后关闭包。

有些通过预提交过程提交代码供评审的团队也喜欢执行提交后的夜间扫描,以便:

  • 生成邮箱,通知作者和审阅者他们所分配的代码评审任务。
  • 识别提交给源代码控制但未使用预提交过程提交审查的任何代码变更。

Task-Driven

使用功能 Parasoft 项目中心跟踪任务的团队还可以选择 task-driven 代码审查。这是一个限制较少的工作流,它允许团队成员根据需要提交代码以供审查。在该工作流中,作者可以提交与特定任务或任务集相关的所有(或选定)文件。对于这些文件是否提交至源代码控制(甚至可以混合提交和本地文件)来说,这并不重要。使用这个过程,代码审查包总是在任务的上下文中创建。 

例如,如果开发人员一直在处理一个任务,并且希望得到关于他目前所做工作的反馈,则他会提交相关文件以供评审。他会提交与特定任务相关的所有文件,或指定当前想评审的与任务相关的特定文件。或者,架构师可能正在审查 sprint 进度,并查看几个不同的开发人员为一些关键的新功能完成了几个关键任务。然后选中所有这些任务,并提交它们以供评审。

工作流详情

下图说明了可用的主要工作流:

Pre-commit 工作流

Post-commit 工作流

内置代码审查测试配置

  • Pre-Commit: 此测试配置是为想在将代码提交至源代码之前对代码进行评审的团队(请查阅 Pre-Commit vs. Post-Commit vs. Task-Driven)。它扫描在本地添加或修改的文件。若要使用次测试配置,必须启用代码审查首选项 Show user assistant during scanner run 设置,以便作者可以指定合适的审阅者。
  • Post-Commit (Template): 此测试配置是为想在将代码提交至源代码之后对代码进行评审的团队(请查阅 Pre-Commit vs. Post-Commit vs. Task-Driven)。它扫描前一天修改的所有项目文件。使用前,必须复制并自定义此测试配置(比如,若要指定 author-reviewer 映射)。有关更多详情,请查阅 配置和运行提交后代码审查扫描 。

  • Post-Commit (Assign All):  此测试配置是为想在将代码提交至源代码之后对代码进行评审的团队(请查阅 Pre-Commit vs. Post-Commit vs. Task-Driven)。它扫描前一天修改的所有项目文件。它可以在没有定制的情况下使用。它包括本地代码审查用户的映射;它将范围(针对作者)内的所有修订分配给当前用户。

代码审查任务/状态报告

代码审查任务报告在 GUI 中,如 Working with the Code Review UI中所述。从命令行或 GUI 分析中生成报告的代码审查部分还会提供代码审查详细信息。这些报告概述了每个项目和每个作者的代码审查任务和问题。它还提供了关于待定问题和代码审查任务的详细信息。

例如:

  • No labels