Google在代码审查上力求减少痛点,并获得了高达97%的开发者满意度。
在Google众多内部工具中,许多前员工提到他们最怀念的就是代码审查工具Critique。不少人在社交媒体和论坛上表达了对Critique的思念,特别是它的“关注集”等功能,这些都让代码审查变得更加流畅高效。据Google的内部数据,97%的Google软件工程师对Critique感到满意。
Critique究竟是什么?
Critique是Google开发的专属代码审查工具,不仅方便开发者快速审查和提交代码,还结合了AI驱动的改进功能,大大提升了生产效率。Critique的核心是结合Google的代码审查流程,通过其独特的UI设计和智能分析工具,为开发者提供了一整套便捷、清晰的代码比对与改进建议。此外,Critique还在每次评论后提供机器学习生成的修正建议,帮助开发者轻松处理修改请求。
Google代码审查的基本准则
Google有一套完善的代码审查准则,主要包括以下几方面:
- 持续改进而非完美:Google鼓励开发者逐步改进代码,而不是追求一蹴而就的完美,以此来避免耗费过多精力在细枝末节上。
- 代码库健康优先:所有修改都需保持或提升代码库的可维护性。
- 严格遵守编码规范:Google有详尽的编码风格指南,任何风格问题都需要遵循这些准则。
- 知识分享:审查者需在代码审查过程中分享相关知识,帮助代码作者提高技能。
- 小批量变更:代码更改应控制在200行以内,减少审查负担。
- 快速响应:Google规定审查应在24小时内完成,且通常只有一个审查者即可。
- 礼貌与专业:审查反馈应注重专业性,避免个人攻击,形成相互尊重的文化氛围。
在实际操作中,Google还通过研究发现,审查反馈的措辞和语气直接影响开发者的积极性。
Critique工具的流程
- 创建变更:开发者使用Google内部的代码编辑器Cider创建变更请求(CL),并通过Critique整合其他工具完成预审查。
- 请求审查:提交变更后,代码作者会正式邀请审查者查看代码。
- 理解和评论变更:任何人都可以在代码上发表评论,未解决的评论则作为开发者必须解决的事项。
- 审批变更:每个请求至少需要一名审查者的批准,确保没有未解决的评论,同时需要代码库负责人和可读性审批人两项批准。
- 提交变更:Critique中完成所有审批后便可提交代码变更。
Critique的优势
Critique备受Google工程师喜爱的原因包括:
- 强大的静态分析:自动分析工具帮助审查者聚焦在代码的可读性和维护性上,而非格式等小问题。
- 注重最新变更文件:界面简洁,仅显示当前快照,避免繁杂历史变更的干扰。
- 机器学习驱动的改进建议:新功能可加速代码修正。
- 与Google其他工具无缝集成:Critique可以与Google的IDE及其内部Bug追踪系统高效结合,提升生产力。
- “关注集”追踪:实时显示每次代码审查的责任人,确保审查流程清晰透明。
虽然其他公司有类似功能的代码审查工具,但Critique的个性化设计使其在Google的特定工作流程和代码库中表现卓越。Critique不会开源,但Google支持的开源工具Gerrit可以提供部分类似的功能。通过持续的研发,Google也在公开他们的研究成果,为业界提供宝贵的开发者生产力提升的经验和启发。