代码CR的目的与关注点

代码CR的目的是使得代码库的整体质量能随着代码开发不断提升, 而不是不断地下降. 应该关注如下方面:

设计

评审中最重要的内容是 CL 的整体设计。CL 中各段代码的交互是否合理?此更改属于您的代码库还是库?它是否能与系统的其余部分很好地集成?现在是添加此功能的好时机吗?

功能

此 CL 是否实现了开发人员的意图?开发人员的意图是否有利于此代码的用户?“用户”通常既包括最终用户(当他们受到更改的影响时),也包括开发人员(他们将来必须“使用”此代码)。

复杂性

CL 是否比应有的复杂度更高?在 CL 的每个级别检查这一点 — 个别行是否太复杂?函数是否太复杂?类是否太复杂?“太复杂”通常意味着“代码阅读者无法快速理解”。它也可能意味着“开发人员在尝试调用或修改此代码时可能会引入错误”。

一种特殊的复杂性是过度设计,即开发人员使代码变得比实际需要的更通用,或者添加了系统目前不需要的功能。审阅者应特别警惕过度设计。鼓励开发人员解决他们知道现在需要解决的问题,而不是开发人员推测未来可能需要解决的问题 。未来的问题应该在它出现时就解决,这样你就可以在物理世界中看到它的实际形状和要求。

测试

根据变更要求进行单元、集成或端到端测试。一般来说,除非 CL 正在处理紧急情况,否则测试应添加到与生产代码相同的 CL 中。

命名

开发人员是否为所有东西都选择了好名字?好名字要足够长,能够充分传达物品是什么或做什么,但又不能太长而难以阅读。

注释

开发人员是否用易懂的英语写了清晰的注释?所有的注释都是必要的吗?通常,注释在解释某些代码存在的原因时很有用,而不应该解释某些代码在做什么。如果代码不够清晰,无法解释自己,那么代码应该更简单。

好东西

如果您在 CL 中看到一些好东西,请告诉开发人员,尤其是当他们以很好的方式解决了您的评论之一时。

代码CR的流程

在阅读一个CR的时候, 应该按照如下的顺序

  1. 查看更改是否有意义?是否有良好的描述?
  2. 查看变更中最重要的部分。整体设计是否良好?
  3. 按照适当的顺序查看 CL 的其余部分。

查看CL 描述以及 CL 的一般功能。这种更改是否合理?如果这种更改本来就不应该发生,请立即回复并解释为什么不应该发生这种更改。当您拒绝这样的更改时,向开发人员建议他们应该做什么也是一个好主意。

首先查看这些主要部分。这有助于为 CL 的所有较小部分提供背景信息,并且通常可以加快代码审查的速度。如果 CL 太大而您无法确定哪些部分是主要部分,请询问开发人员您应该首先查看哪些部分,或者要求他们将 CL 拆分为多个 CL。

确认整个 CL 没有重大设计问题后,尝试找出查看文件的逻辑顺序,同时确保不会错过任何文件。通常在查看完主要文件后,最简单的方法是按照代码审查工具向您呈现的顺序浏览每个文件。有时在阅读主代码之前先阅读测试也很有帮助,因为这样您就会知道更改应该做什么。

参考资料

最后更新: 2024年12月05日 21:23

版权声明:本文为原创文章,转载请注明出处

原始链接: https://lizec.top/2024/04/25/%E5%A6%82%E4%BD%95%E8%BF%9B%E8%A1%8C%E4%BB%A3%E7%A0%81CR/