点击上方蓝色“程序猿DD”,选择“设为星标”
回复“资源”获取独家整理的学习资料!
以下为译文:
-
代码没有任何错误,没有bug,也没有问题;
-
代码符合质量与样式指南的要求和标准;
-
代码完成了所有预期功能;
-
合并代码后,代码库仍然能够正常运行,且达到更好的状态。
这就是为什么代码审查是软件开发的重要环节的原因。代码审查者担当着把关者的职责,负责决定这些代码是否能够成为代码库的一部分并进入生产环境。
在Google,“代码审查的主要目的是确保Google代码库内整体的代码运行状况能够不断提升。” —— Google工程实践文档
以下是审查代码时你需要牢记的一些重点。
代码审查标准:
这些代码能够提升系统整体的运行状况
每次代码变更(拉取请求)都能够提升系统整体的运行状况。重点在于,即便是很小的改进,合并代码后都会提升软件或代码库的运行状况。
快速审查代码,并给出积极地响应和反馈
首先也是最重要的一点,不可延误代码的合并。世上没有完美的代码。如果代码可以提升系统的整体运行状况,则应该立即交付这些代码。
“关键在于,世上没有完美的代码,只有更好的代码。” —— Google工程实践文档
如果手头没有紧急任务,那么请在代码提交上来后立即进行审查。响应拉取请求的时间最长不得超过一个工作日。一天之内,应针对一次拉取请求完成多轮的部分或完整的代码审查。
在代码审查的过程中开展教育和启发
在代码审查的过程中,应尽可能通过共享知识和经验提供指导。
审查代码应遵循标准
请始终牢记,样式指南、编程标准以及相关的文档应该作为代码审查的绝对权威。例如,制表符与空格的使用应保持一致,此时你可以引用编程约定。
如果你选用的是Java,那么以下文章可能会有所帮助,文中总结了大型科技公司Java编程的最佳实践:《Java编程最佳实践摘要》(https://rhamedy.medium.com/a-short-summary-of-java-coding-best-practices-31283d0167d3)
解决代码审查冲突
解决代码审查冲突时,应遵循样式指南以及编程标准中商定的最佳实践,并征求其他拥有更多产品领域知识和经验的人的建议。
我们绝对不可以跳过测试。如果时间有限,某些目标有无法实现的风险,那么解决方案不是跳过测试,而是限定可交付成果的范围。
不要为了代码审查打断手头的工作
如果你正在专心致志地工作,那么请不要打断自己,因为你需要花费很长时间才能重新投入工作。换句话说,打断专心工作的开发人员所付出的代价远远超过了让开发人员等待代码审查。你可以在休息(午餐或咖啡等)过后,进行代码审查。
审查代码时需要保持大局观
从更广阔的视野来看待代码变更会更有帮助。例如,某个文件被修改,并添加了4行新代码。请不要只看这4行代码,你应该考虑审查整个文件,并检查新添加的内容。它们是否会降低现有代码的质量们是否会导致现有功能成为重构的候选对象/p>
如果不在函数/方法或类的背景下审查添加的代码,则随着时间的流逝,你将会得到一个面临无法维护、纠缠不清、不易于测试等问题的类,而且这个类很难扩展或重构。
请记住,即便是微不足道的改进,随着时间的推移,也可能导致产品出现缺陷,同样,即便是轻微的代码降级或技术负债也可能在日积月累下导致产品难以维护和扩展。
在代码审查期间认同和鼓励出色的工作
在代码审查期间应保持谨慎、尊重、友善和思路清晰
详细解释代码审查的意见,并注意尺度
DD自研的沪牌代拍业务,点击直达
【往期推荐】
又一个智商税产品“路由器防辐射笼”,信 都没了,还能火爆全 …
2020-12-10
Github 2020年度 告:你以为新冠击溃了开发者!他们创造了更多代码…
2020-12-09
Spring MVC 过时了吗/p>
2020-12-08
扫一扫,关注我
一起学习,一起进步
每周赠书,福利不断
已在知识星球更新如下:

文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览92881 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!