你做过代码 Review 吗?

简介: Hello 大家好我是阿粉,代码 Review 相信大家一定不会陌生,但是真正在日常工作中能使用并且坚持执行下去的公司或者团队,阿粉觉得并不多,但是代码 Review 的好处大家都是有目共睹的,很多招聘岗位上面都有这样的要求,坚持执行代码 Review 对团队,对公司是很有好处的,特别是对写代码的同事!每个一起阅读代码的同事都会提出一些自己的建议 ,这些建议都是很宝贵的资源,往往都会有很大的收获。

Hello 大家好我是阿粉,代码 Review 相信大家一定不会陌生,但是真正在日常工作中能使用并且坚持执行下去的公司或者团队,阿粉觉得并不多,但是代码 Review 的好处大家都是有目共睹的,很多招聘岗位上面都有这样的要求,坚持执行代码 Review 对团队,对公司是很有好处的,特别是对写代码的同事!每个一起阅读代码的同事都会提出一些自己的建议 ,这些建议都是很宝贵的资源,往往都会有很大的收获。

那么如何做好一场代码 Review 呢?想要做好一场合格的代码 Review,首先我们需要知道代码 Review 的过程中都有哪些角色以及需要怎样的流程。

角色

  1. 代码的作者 Author;
  2. 阅读代码的同事 Reviewer;
  3. 主持人 Host;
  4. 记录员 Recorder。

流程

  1. 提前一天发送 Review 代码邮件给相关人员,确定 Host 和 Recorder;
  2. 由 Host 主持 Review 会议;
  3. 由 Reviewer 和 Author 进行代码走读;
  4. 由 Recorder 进行改进记录。

在做代码 Review 之前 Author 需要提前一天需要发正式邮件给相关人员,并且将需要被 Review 的代码通过邮件附件的方式,发送给相关的 Reviewer 让他们提前阅读,这样有助于 Review 的时候可以更高效的进行。并且提前沟通好代码 Review 的会议 Host 和 Recorder。Host 在会议过程中负责组织大家发言和维护秩序,让代码 Review 更高效;Recorder 则负责将整个 Review 过程中提到的需要优化和改进的点进行文档形式的记录,记录的信息需要言简意赅,将哪个文件哪一行代码,问题是什么,建议怎么优化都需要记下来,并且在会议结束过后以邮件的形式发送给 Author 和抄送大家。

Review

在进行代码 Review 的时候 Author 需要从文件的第一行开始进行一行行的代码走读,对每一行的代码进行描述,这里需要注意的是不要认为某个功能很简单,就可以一句带过,往往很多线上 Bug 都是因为这种忽略导致的。走读代码的时候 Author 需要解释清楚每一行代码的含义,说明这行代码是干嘛的,为什么要这样写。Reviewer 则需要根据 Author 的描述再结合自己之前阅读代码的理解进行提问或者改进方案。

代码走读的过程持续进行的同时 Recorder 需要及时记录需要改进的内容,并把提出的优化方案记录下来。代码走读的过程是整个 Review 的核心,在这个环节中我们需要注意很多东西。知乎上面有个提问大家的公司的 Code Review 都是怎么做的?遇到过哪些问题?,上面有个回答提出的几个点很不错,我觉得有必要分享给大家,对我们的整个 Review 会很有帮助,特别是当自己是 Reviewer 的时候,需要格外注意。

  1. 对事不对人。要记住大家都是同事,今天自己是 Reviewer 来对别人的代码进行 Review,哪天别人就会对自己的代码进行 Review,所以在整个代码 Review 的环节中,我们可以提出自己的建议,但是需要注意自己的用词和语气,虽然程序员有鄙视链,并且都认为别人的代码垃圾,但是这种时候不能瞎说,容易打架的,还是要谦虚点。
  2. 用正面的词汇进行评价。跟上面说的一样,我们需要用正面的词汇进行评价代码,考虑 Author 的情绪,即使代码写的不好。这个很好理解,毕竟代码 Review 是在很多人面前的,对 Author 来说,让别人看自己写的代码就像在别人面前裸奔一样,所以我们不仅要提出意见在好的地方我们也要进行正向的表扬。
  3. 如果有更好的方案一定要提出来。代码 Review 的目的就是优化代码,找出代码中的隐藏 BUG 以及逻辑问题。所以如果发现了代码有任何不优雅的地方或者会出现问题的地方一定要及时的提出来,不要担心自己说的不对,或者考虑 Author 的面子问题,不指出来,提供更好的解决方案,让大家一起进步。
  4. Review 会议是 Review 代码,而不是讨论需求。这一点也是很容易被带偏的一个点,经常我们会发现在 Review 的过程中,慢慢的就变成了讨论需求了,这种情况一定要避免发生,不然整个代码 Review 环节就是失败的,无法进行下去了。所以 Author 在发起代码 Review 邀请时一定要确保自己理解的需求是正确的,避免浪费大家的时间。
  5. 高效的进行。进行代码 Review 的时候我们需要注意一定要高效,如何做到高效就需要每个人都做好相应的准备,Author 需要对自己的代码进行熟练的讲解,Reviewer 需要在参加会议之前将需要 Review 的代码看一下,提前找到可能隐藏的 Bug,对于不懂地方需要做好记录,方便开会的时候及时指出。
  6. 避免形式主义。这一点也是被很多小伙伴忽略的一点,随着代码 Review 的次数越来越多,很多小伙伴可能就把这个当成一个任务,慢慢的就变成了形式主义,而不是注重实际,每次代码 Review 的时候就很随意,长期这样下去对公司,团队以及自己都不好,而且还浪费时间。

总结

阿粉今天给大家介绍了一个如何做一个合格的代码 Review,当然这只是阿粉自己的一些见解,大家有任何意见可以在评论区给我们留言,也可以加入我们的微信群,大家一起交流学习。

相关文章
|
4月前
|
NoSQL 安全 测试技术
为什么要做代码Review?
提高代码质量,提升自身水平 及早发现潜在缺陷与Bug,,降低事故成本 促进团队内部知识共享,提高团队整体水平 保证项目组人员的良好沟通 避免开发人员犯一些很常见,很普遍的错误
|
JavaScript 前端开发 安全
15个最佳的代码评审(Code Review)工具
  代码评审可以被看作是计算机源代码的测试,它的目的是查找和修复引入到开发阶段的应用程序的错误,提高软件的整体素质和开发者的技能。代码审查程序以各种形式,如结对编程,代码抽查等。在这个列表中,我们编制了15个最好的代码审查工具,这将有助于开发者节省代码审查时间。
4187 0
|
1天前
|
算法
如何做代码Review?
如何做代码Review?
7 1
|
21天前
|
前端开发 JavaScript 数据安全/隐私保护
idea代码review工具Code Review Helper使用介绍
CodeReview IDEA 插件是一款用于代码审查的工具,旨在解决在GitLab中查看整体业务逻辑的不便。该插件提供快速添加注释、行号旁的评审意见标记、双击跳转到代码、意见删除和修改、内容导出为Excel以及导入等功能。特别地,它支持离线和在线模式,离线模式下,审核者和开发者通过Excel文件交换评审意见;在线模式则通过服务端实现评审内容的上传和下载,简化文件传输。此外,该插件允许定制评审字段,并能与团队协作工具集成。通过这些特性,CodeReview IDEA 提高了代码审查的效率和便捷性。
70 2
|
2月前
|
Java 测试技术 p3c
我们如何做Code Review
我们如何做Code Review
31 0
|
11月前
|
监控 算法 程序员
大厂怎么做Code Review?
发现坏味道的实践,就是Code Review:对计算机源代码系统化地审查,常用软件同行评审的方式进行,其目的是在找出及修正在软件开发初期未发现的错误,提升软件质量及开发者的技术
188 0
|
设计模式 算法 Java
code review
也不知code review是从哪年开始流行的,我的职场经历从刚开始完全没有到1对1,再到团队式review
171 0
code review
|
缓存 算法 安全
代码评审(Code Review)
代码评审(Code Review)
553 0
|
开发框架 安全 IDE
|
缓存 人工智能 监控
【如何有效做Code Review】8行代码提出的21个问题
- 很多同学都有这个疑问,如何结构化体系化的做CR?如何综合应用各种手段尽快及早的发现代码问题和缺陷? - 下面围绕这个实例,抛砖引玉,大家可以一起探讨;  - 实例如下 ,短短8行代码,通过CR可以发现多少问题呢?21处;这段代码谁写的不重要,探讨的重点是如何全面发现其中的问题和隐患;  
5740 0
【如何有效做Code Review】8行代码提出的21个问题