Code Review体系与团队文化

简介: Code Review不只是一种管理方法,也是开发者特有的沟通方式,更是一种团队文化。Code Review机制是否健全是评价一个研发团队技术氛围好坏的重要参考。

Code Review不只是一种管理方法,也是开发者特有的沟通方式,更是一种团队文化。Code Review机制是否健全是评价一个研发团队技术氛围好坏的重要参考。

Code Review的意义

  • 交叉排查缺陷 - 绝大多数BUG都可以在代码层面被发现,甚至测试难以覆盖到的深层次BUG也可以通过团队成员相互审核而避免
  • 提高代码质量 - Code Review意味着开发者要接受团队成员的建议与监督,在完成功能的基础之上不断完善代码结构
  • 建立团队意识 - 代码是团队财产,团队成员在相互督促与改进中共同成长

Code Review的体系

  • Daily Code Review - 开发者完成初步结构设计,或者完成一个相对完整的小模块都可以提交PR让团队成员Review
  • 需求Code Review - 评估需求完成度,与其它需求的潜在冲突
  • 上线Code Review - 上线前Review,重点排查配置问题,安全问题,代码冲突
  • 重点代码走读 - 每个迭代/双周/月度对具有代表性的代码集体走读,重点在于解决团队共性问题,讨论改进方法

是整个Code Review体系中最重要的是Daily Code Review,绝大多数问题应该在每天的Code Review中沟通解决,也就是功夫在平时。

Code Review有几个重要的参考指标:

  • 单次提交Review的代码量 - 在思路相对完整的情况下越少越好
  • 评论的数量,参与程度 - 每个PR至少2人Review通过之后才能合并代码,但参与人数也不宜过多,避免盲目通过的情况
  • 更新的次数 - 通常情况下Code Review不应该直接通过,平均要Update至少一次

Code Review的文化

通过多层次的Code Review体系,在团队中建立起集体认知:

  • 代码是团队共有的知识财富,而不是个人的私有地
  • 所有人对所有代码的最终质量负责,而非某个人对某些代码负责
  • 完成功能只是开始,代码需要持续改进以符合团队标准

Code Review对于团队中的新人来说是很好的锻炼机会,我们团队的新人首次提交代码,被打回更新四五次是很正常的事情。集体对代码质量的追求,也能提升新人的成就感、荣誉感。


实践中注意强调以下问题:
  • Code Review不能形式化,没看过PR、没改进意见不能通过
  • 被Decline PR不是丢面子的事情,被提改进建议也不是批评,对事不对人
  • 将别人提交的代码视作自己将维护的代码,个人标准与集体标准对齐

总结

Code Review体现的是团队对于代码质量的追求,对于团队内部协作的重视。对于新人来讲,对于日常工作的钻研与打磨比偶尔一次的技术培训或分享更有学习价值。

目录
相关文章
|
7天前
|
算法 Java 测试技术
卓越工程之如何做好Code Review
本文主要从我们为什么需要CR?CR面临哪些挑战?CR的最佳实践几个方面分析,希望可以给读者一些参考。
|
7月前
|
安全 UED
【代码review、审核开发工程师的设计与研发质量工作经验之谈】
【代码review、审核开发工程师的设计与研发质量工作经验之谈】
|
12月前
|
运维 Kubernetes 数据可视化
凤凰项目--团队合作与沟通
凤凰项目--团队合作与沟通
|
SQL 缓存 架构师
一文梳理Code Review方法论与实践总结
相信Code Review每天都在进行,但代码评审应该怎么做,评审范围有哪些,评审标准在哪里,怎样可以避免流于形式,这里结合自己的实践来聊一聊。
29207 10
一文梳理Code Review方法论与实践总结
|
SQL 缓存 架构师
一文梳理 Code Review 方法论与实践总结
作为卓越工程文化的一部分,Code Review 其实一直在进行中,只是各团队根据自身情况张驰有度,松紧可能也不一,这里简单梳理一下 CR 的方法和团队实践。
530 1
一文梳理 Code Review 方法论与实践总结
|
监控 IDE Java
处理 Exception 的几种实践,很优雅,被很多团队采纳!
在Java中处理异常并不是一个简单的事情。不仅仅初学者很难理解,即使一些有经验的开发者也需要花费很多时间来思考如何处理异常,包括需要处理哪些异常,怎样处理等等。
|
架构师 前端开发 安全
从零开始 Code Review,两年实战经验分享!
前几天看了《Code Review 程序员的寄望与哀伤》,想到我们团队开展 Code Review 也有2年了,结果还算比较满意,有些经验应该可以和大家一起分享、探讨。
从零开始 Code Review,两年实战经验分享!
|
程序员 开发者
|
前端开发 Web App开发 JavaScript