谷歌很早之前就已经建立了一套通用的工程实战指南,它几乎囊括了所有编程语言与各种类型的项目。这些文件代表了谷歌各种最佳实践的集合。今天,谷歌将这一套代码评审(Code Review)规范开源了出来。
目前,这份代码评审规范实际包含两套独立的文件:
代码评审者的指南
- 代码评审标准
- 代码评审希望达到什么
- 在代码评审中导航修改列表
- 代码评审的速度
- 如何写审查的评论
- 处理代码评审的回退
CL作者指南
- 写一个好的修改列表描述
- 构建一些小的修改列表
- 如何处理代码评审者的评论
其中一些文档中使用了Google的内部术语,Google也给出了详细的解释:
CL:表示“变更列表(changelist)”,意思是已经提交到版本控制或正在进行代码检查的一个独立的更改。其他组织通常称为“改变”或“补丁”。
LGTM:意思是“在我看来不错(Looks Good to Me)”,这是代码审阅者在批准 CL 时说的。
那么 ,代码审查者指南都在审查什么呢?代码审查应该查看:
- 设计:代码是否经过精心设计并适合你的系统?
- 功能:代码的行为是否与作者的意图相同?代码的行为方式对用户有好处吗?
- 复杂性:代码可以变得更简单吗?以后其他开发人员阅读此代码时是否能够轻松理解并使用
- 测试:代码是否具有正确且设计良好的自动化测试?
- 命名:开发人员是否为变量,类,方法等设置了易于理解的命名?
- 注释:评代码注释是否清晰并且有用?
- 风格:代码是否遵循标准的编写风格?
- 文档:开发人员是否也更新了相关文档?
整个代码评审指南分为了很多模块,我们也没办法全部介绍一遍。感兴趣的伙伴们可以自行详细查阅
目前,eng-practices已经在GitHub上标星16.2K,1.6K 个Fork(GitHub地址:https://github.com/google/eng-practices/blob/master/review/index.md)
该项目最近更新显示是昨日,对其中一个文件进行更改,包含2个增加和2个删除,具体更新如下: