前言
建立完善的代码审查机制有助于提升开发团队的协作能力,和提升代码质量。并不是件简单的事情。不同团队所处的公司,项目客观环境不同,所采用的审查流程也不尽相同。本文根据目前公司项目状态和团队人员状况指定简单的可执行方案。希望对开展代码审查机制有帮助。
默认约定
review方法约定
这里暂时用两种方式
结对review
- 在项目或者需求计划完成时由reviewer或者项目负责人对关键功能点进行评估是否进行结对review
- 当需要进行结对review的功能点开发完成后,由codeowner通知review约定一个具体时间对关键代码的解说,reviewer跟着coderowner的流程进行review提出可能隐藏的逻辑错误。
异步review
- codeowner每天提交完整的可编译的代码。
- codeviewer每天拉取完整的代码。
- 项目实际开发天数>7人日(含):
在项目阶段的每个周四固定一个时间段进行已提交的完整代码review。再另外在提测前两天进行review一遍。如果两者时间有冲突,那么以提测前 两天为主。 - 如果项目或者需求实际时间小于7人日,在提测前两天进行review一遍。
- 项目实际开发天数>7人日(含):
- codeowner在接收到review comment时。最迟第二天进行答复。和codereview协商完成comment处理。
- codereview在提测前一天下午前,进行完整审查。寻找未处理的reviewcomment灭掉。
流程
前置条件
- 代码上传到Gitlab
- 配置好upsource代码库
- 安装upsource idea插件
划分角色
CODEROWNER: 代码作者
REVIEWER: 代码审查者
流程图
1 | graph TB |
核心流程详解
划分角色和review计划制定
- 开发计划制定后进行角色划分。code reviewer一般是项目负责人。同时也可以是coder
- rewiver将要进行的项目上传到gitlab和upsource。并配置好项目在upsource上的配置。
- coder 配置好idea插件
- 根据功能划分制定review方式。
按照功能进行开发
在功能开发过程中按照指定好的review计划进行codereview
CODE REVIEW的方法
代码审查方式
关注点
代码审查清单列表代码的设计是否符合要求
逻辑是否正确
执行过程
- 角色:
- Reviewer
reviewer为各个项目负责人可以同时是CodeOwner - CodeOwner
CoderOwner为这个代码的作者,
- Reviewer
每天由Codeowner提交代码。Reviewer通过idea插件或者 upsource的hub页面筛查自己需要 审查的代码进行审查。并提交相关建议。
结果反馈
略