代码审查流程
国外互联网行业的很多效能标杆公司都非常重视代码审查(Code Review),比如 Facebook、谷歌 等就要求每一个提交都必须通过审查。有的团队直接使用代码仓库管理工具提供的审查功能,比如 GitHub、GitLab 提供的 PR 审查;有的团队则使用专门的审查工具,比如 Phabricator、Gerrit;
Facebook 使用的是 Phabricator 这个工具,工具辅助的线下异步审查,代码作者通过工具将代码发送给审查者,审查者再通过工具把反馈传递给作者。
以下是最常见的常见的工作流程:
第一,将代码提交到本地 Git 仓库或者用于审查的远端 Git 服务器的分支上;
第二,把 commit 提交给代码审查工具;
第三,代码审查工具开始进行机器审查和人工审查;
第四,如果审查通不过就打回重做,开发者修改后重新提交审查,直到审查通过后代码入库。
如何做代码审查
作为开发者和审核者都应该知道,代码审查看哪些:
1. 设计,审核一个 CL 最重要的事情就是考虑它的整体设计。
2. 功能,这个 CL 所实现的功能与开发者期望开发的功能是一致的吗?
3. 复杂性,“太复杂”的定义是代码阅读者不易快速理解。
4. 测试,同时要求开发者提供 C