如何撰写 Code Review 评论
总结
- 保持友善。
- 解释你的推理。
- 在给出明确的指示与只指出问题并让开发人员自己决定间做好平衡。
- 鼓励开发人员简化代码或添加代码注释,而不仅仅是向你解释复杂性。
礼貌
一般而言,对于那些正在被您审查代码的人,除了保持有礼貌且尊重以外,重要的是还要确保您(的评论)是非常清楚且有帮助的。你并不总是必须遵循这种做法,但在说出可能令人不安或有争议的事情时你绝对应该使用它。 例如:
糟糕的示例:“为什么这里你使用了线程,显然并发并没有带来什么好处?”
好的示例:“这里的并发模型增加了系统的复杂性,但没有任何实际的性能优势,因为没有性能优势,最好是将这些代码作为单线程处理而不是使用多线程。”
解释为什么
关于上面的“好”示例,您会注意到的一件事是,它可以帮助开发人员理解您发表评论的原因。 并不总是需要您在审查评论中包含此信息,但有时候提供更多解释,对于表明您的意图,您在遵循的最佳实践,或为您建议如何提高代码健康状况是十分恰当的。
给予指导
一般来说,修复 CL 是开发人员的责任,而不是审查者。 您无需为开发人员详细设计解决方案或编写代码。
但这并不意味着审查者应该没有帮助。一般来说,您应该在指出问题和提供直接指导之间取得适当的平衡。指出问题并让开发人员做出决定通常有助于开发人员学习,并使代码审查变得更容易。它还可能产生更好的解决方案,因为开发人员比审查者更接近代码。
但是,有时直接说明,建议甚至代码会更有帮助。代码审查的主要目标是尽可能获得最佳 CL。第二个目标是提高开发人员的技能,以便他们随着时间的推移需要的审查越来越少。
接受解释
如果您要求开发人员解释一段您不理解的代码,那通常会导致他们更清楚地重写代码。偶尔,在代码中添加注释也是一种恰当的响应,只要它不仅仅是解释过于复杂的代码。
仅在代码审查工具中编写的解释对未来的代码阅读者没有帮助。这仅在少数情况下是可接受的,例如当您查看一个您不熟悉的领域时,开发人员会用来向您解释普通读者已经知道的内容。
如何撰写 Code Review 评论的更多相关文章
- 如何对Code Review的评论进行分级
我曾写过一篇关于Code Review的文章<Code Review 最佳实践>,在文章中建议对Code Review的评论进行分级: 建议可以对Review的评论进行分级,不同级别的结果 ...
- 有人实践过 Phabricator 以及 Arcanist 作为 code review 的工具么?(转)
作者:覃超链接:http://www.zhihu.com/question/19977889/answer/13539702来源:知乎 平时就经常实践. 整个公司的code review就是使用这个. ...
- 我们是怎么做Code Review的
前几天看了<Code Review 程序员的寄望与哀伤>,想到我们团队开展Code Review也有2年了,结果还算比较满意,有些经验应该可以和大家一起分享.探讨.我们为什么要推行Code ...
- Code Review 五问五答
Code Review 是什么? Code Review即代码审查,程序猿相互审核对方的代码. Code Review能获得什么好处? 提高代码可维护性 你写的代码不再只有编译器看了,你得写出审核人能 ...
- <转>如何进行code review
转自: http://pm.readthedocs.org/zh_CN/latest/codereview/howto.html 如何进行code review? code reivew是保障代码质量 ...
- Code Review中的几个提示
原文:http://coolshell.cn/?p=1302 酷壳 Code Review中的几个提示 陈皓 Code Review应该是软件project最最有价值的一个活动,之前,本站发表过&l ...
- 如何在python脚本开发做code review
在软件项目开发中,我们经常提到一个词“code review”.code review中文翻译过来就是代码评审或复查,简而言之就是编码完成后由其他人通过阅读代码来检查代码的质量(可编译.可运行.可读. ...
- 基于GitLab的Code Review教程
一.前言 1.本文主要内容 GitLab Code Review机制说明 Git Workflow 与 Git Code Review Workflow GitLab Code Review 配置说明 ...
- 作为开发人员,这四类Code Review方法你都知道吗?
本文翻译自:https://dzone.com/articles/4-types-of-code-reviews-any-professional-developer 转载请注明出处:葡萄城官网,葡萄 ...
- 从code review到Git commit log
最近在读一本技术类的书:朱赟——<跃迁:从技术到管理的硅谷路径>,其中聊了很多很有趣的观点,比如:技术管理.技术实践.硅谷文化.个人成长等. 读到关于硅谷人如何做code review这一 ...
随机推荐
- .NET周刊【5月第4期 2025-05-25】
国内文章 .NET 的全新低延时高吞吐自适应 GC - Satori GC https://www.cnblogs.com/hez2010/p/18889954/the-new-satori-gc-f ...
- html file input onchage没有调用(两次选择同一个文件)
在html中,如果input的类型是file,且第二次选择的文件与第一次相同,那么onchange事件不会调用. 如果想调用,需要将event.target.value设置为null,如下: 原生写法 ...
- PI Errors and possible solutions
引自:https://wiki.scn.sap.com/wiki/display/ERPHCM/PI+Errors+and+possible+solutions 转至元数据起始 404 - Not ...
- AI大模型应用开发入门-LangChain实现文档总结
一.整体思路 长网页文本往往超过 LLM 单次处理的 token 限制,我们需要设计一个 map-reduce 流水线来拆分.局部总结.归并: 加载网页内容 拆分成可控大小的 chunk 对每个 ch ...
- HyperWorks的模型简化
2.2 模型简化 本节将介绍如何改变结构的外形以实现模型的简化.模型中对分析不需要的小特征,如小孔.导角等,将被去除.模型简化后将大大提高整体模型的网格质量.建模效率以及后续模型求解效率. 本节将学习 ...
- DotTrace系列:5. 诊断程序的 慢File 和 慢SQL
一:背景 1. 讲故事 上一篇跟大家聊到了 UI Freeze 的问题,让大家感受到了时间轴的强大和美观,这个是 perfview 所不具备的,本篇跟大家聊一下用 dottrace 诊断Windows ...
- qiankunjs中vue路由使用hash模式
为什么使用hash模式 官网上举例都是拿history模式,我就想看看hash模式 history模式优在编译后缺点 file协议访问会白屏,即打包完成后,双击页面会白屏(之后还证明qiankun的微 ...
- FT 终面记录
可能挂了 写一个记录总结一下吧 终面 我很庆幸能走到终面 前面很多次我都很可能挂掉 前面面试不是很紧张就是一直觉得自己会挂掉 终面了想想自己很可能会进 FT 有点紧张了 吾 现在还做不到 宠辱 ...
- RestClould ETL 社区版六月精选问答
- POLIR-Society-Organization-Politics: “How”-政治分析+组织建设:资源整合:集成"组织"+"人才"+"资源"+"资本" + 商业运营模式(本质问题:目标客户+问题+风险收益)
POLIR-Society-Organization-Politics: "How"-政治分析+组织建设: 资源整合,集成: 决策层: 大政方针 VS 执行层: 解决问题 决策层: ...