【代码审查系列3】CODE REVIEW代码审查执行方法

前言

建立完善的代码审查机制有助于提升开发团队的协作能力,和提升代码质量。并不是件简单的事情。不同团队所处的公司,项目客观环境不同,所采用的审查流程也不尽相同。本文根据目前公司项目状态和团队人员状况指定简单的可执行方案。希望对开展代码审查机制有帮助。

默认约定

review方法约定

这里暂时用两种方式

  1. 结对review

    • 在项目或者需求计划完成时由reviewer或者项目负责人对关键功能点进行评估是否进行结对review
    • 当需要进行结对review的功能点开发完成后,由codeowner通知review约定一个具体时间对关键代码的解说,reviewer跟着coderowner的流程进行review提出可能隐藏的逻辑错误。
  2. 异步review

    • codeowner每天提交完整的可编译的代码。
    • codeviewer每天拉取完整的代码。
      • 项目实际开发天数>7人日(含):
        在项目阶段的每个周四固定一个时间段进行已提交的完整代码review。再另外在提测前两天进行review一遍。如果两者时间有冲突,那么以提测前 两天为主。
      • 如果项目或者需求实际时间小于7人日,在提测前两天进行review一遍。
    • codeowner在接收到review comment时。最迟第二天进行答复。和codereview协商完成comment处理。
    • codereview在提测前一天下午前,进行完整审查。寻找未处理的reviewcomment灭掉。

流程

前置条件

  1. 代码上传到Gitlab
  2. 配置好upsource代码库
  3. 安装upsource idea插件

划分角色

CODEROWNER: 代码作者

REVIEWER: 代码审查者

流程图

1
2
3
4
5
6
7
8
9
graph TB
开始 --> 开发计划
开发计划 --> 划分角色
开发计划 --> review计划
划分角色 --> 开发提交代码
review计划 --> 开发提交代码
开发提交代码 --> 进行review
进行review --> 开发提交代码
进行review --> 提测

核心流程详解

  1. 划分角色和review计划制定

    • 开发计划制定后进行角色划分。code reviewer一般是项目负责人。同时也可以是coder
    • rewiver将要进行的项目上传到gitlab和upsource。并配置好项目在upsource上的配置。
    • coder 配置好idea插件
    • 根据功能划分制定review方式。
  2. 按照功能进行开发

  3. 在功能开发过程中按照指定好的review计划进行codereview

CODE REVIEW的方法

代码审查方式

  • 关注点
    代码审查清单列表

  • 代码的设计是否符合要求

  • 逻辑是否正确

执行过程

  • 角色:
    • Reviewer
      reviewer为各个项目负责人可以同时是CodeOwner
    • CodeOwner
      CoderOwner为这个代码的作者,

每天由Codeowner提交代码。Reviewer通过idea插件或者 upsource的hub页面筛查自己需要 审查的代码进行审查。并提交相关建议。

结果反馈

审查工具和附件