Google鼓励的13条代码审查标准

如何在代码审查方面表现出色

Google鼓励的13条代码审查标准

在本文中,我们将简要介绍13代码审查标准,这些标准可以极大地帮助改善软件的运行状况并保持开发人员满意。

顾名思义,代码审查是一个过程,其中一个或多个开发人员审查或筛选另一位开发者(作者)编写的代码,以确保:

  • 代码没有任何错误或问题。
  • 符合所有质量要求和标准。
  • 代码执行了预期的测试。
  • 合并后,它将使代码库的运行状况保持更好。

这就是为什么代码审查是软件开发的关键部分的原因。代4 q P v = f b q 9码审阅者充m M u @ $ c 6当代码库管理员,负责确定代码是否处于要1 & , j =成为代码库的一b ! 9 I * 2 O ^ n部分并进H J c v # , b m 1入生产的状态。

Google以其卓越的技术而著称,它们具有有效的代码审查标准,这些标准似乎突出了审查代码时要记住的一些要点。在Google,代码审查的主要目的是确保Google代码库的整体代码运行状况随着时间的推移而不断改善。

这是您在查看更改列表(Pull Request)时要记住的q , ~ ^ 0 + d P (事项列表。

审查标准

1.该代码~ 4 Y v N改善了系统的整体运行状u R p } e

每个更改列表(Pull Request)都会改善系统的整体运行状况。想法是,由于进行了如此小的改进,W y l o = O Y S A每次合并后,软件或代码库的运行状况都会得到改善。

2.快速的代码t $ : s ` ~ c ^ 审查,响应和反馈

首先,不要延迟推送(合并)更好的代码。不要指望代码是完美的。如果它的状况可以改善系统的m 2 V V整体运行状况,则请推送。9 H ` $ C ] ^

“这里的关键是没有'H E ( n }完美'的代码,只有更好的代码。”

如果您不在一项重点任务的中间,那么请在代码完成后立即进行检查;但是,一个工作日是响应拉取请求(更改列表)所需的最长时间。预计变更列表(拉取请求)将在一天之内获得多轮的部分/完整代码审查。

3.在代码审查期间进行教育和启发

通过尽可能共享知识和经验,在代码审查期间提供指导。

4.审查代码时m Z D : :遵循标准

始终牢记,编码标准此类文档是代码审查@ ` l期间的绝对权威。例如,要在制表符和空格之U s S G u g G间保持一致性,可以引用编码约定。

5.解决代码审查冲突

通过遵循样式指南和编码标x Q m . i m 准文档中商定的最佳实践,并寻求其他在产品领域具有更多知识和经验的人的建议,来解决冲突。根据严重性,处理冲突有. D C _ P y J e所不同。

Google鼓励的13条代码审查标准

如果您的评论是= ` Y /可选的或次要的,请在评论中进行说明,然后由作者决定是解决还是忽略它们。作为代码审阅者,您至少 k P ~ E _可以建议在没有样式指南或编码标准的情况下,更改列B + l表(请求)与其余代码库保持一致。

6.演示UI更改是代码审查的一部分

如果更改列表(Pull Request)更改了用户界面,则除了代码查看之外,还必须进行演示以确保外观上的所有外观均7 ^ t符合预期并与模拟匹配。

对于前端变更列表(Pull Request),[ Z Q R / ) H R始终建议进行演示/演练,或确保变更列表还包括必要的UI自动化测试,以验证添加R w C o/更新的功能。

7.确保代码审查伴随所有测试

除非紧急情况,否则拉取请求(更改列表)应伴随所有必要的测试,例如单元,集成,端到端等。

紧急情况可能是需要尽快修复的错误或安全漏洞,以后可以添加测试。在x ( b ~ q N这种情况下,请确保创建了适当的问题,并确保有5 q P + e ) Y N人在完成热修复或部署后立即拥有所有权才能完成。

Google鼓励的13条代码审查标准

没有足够的理由跳过测试。如果由于时间限制,某些目标有无法实现的风险,那么解决方案不是跳过测试,而是要对可交付成果进行范围界定。

8./ * e 0 + N专注时,不要打扰自己进行代码审查

如果您正处于重 q Q Y点工作中,请不要打扰自己,因为这可能需要很长时间才能恢复正常。换句话说,打断专注的开发人员所付出的代价比让开发人员等待r E m 3 Y代码审查要高得多。在计划的休息时间(例如午餐,咖啡等)之后进行代码检查O S g - Y 5

Google鼓励的13条代码审查标准

期望并非总是在同一天完成p u Y s ) n ) G L并合并整个代码审查过程。重要的是迅速给# T R ; z j f作者5 q $ )一些反馈。例如,您可5 y _ , O H v (能无法进行完整的检查,但是您可以快速指出一些可以研究的内容。这将极大地减少代码审查期间的挫败感。

9p N n H h A d 1.复习一切,不要做任何假设

查看分配给您检查的每y z f b Y 2一行代码。不要对人工编写的类和方法做任何假设,并且应该确保您了解代码在做什么。

Google鼓励的13条代码审查标准

确保了解您正在检查的代码。如果没有,请进行澄清或要求代码演练/解释。如果您有部分代码不具备审阅$ { g k 9 c的资格,请确保还有其他合格的开发人员可以审阅代码的那些部分s ] H ! A ] b 4

10.回顾代码时要顾全大局

从更广泛的背景来看变r { y b h ; 3化通常是有帮助的。例如,更改了文件,并添加了四行代码。不要只查看m ; _ O . * - % CU P h 9 行代码;相反,请: ? T P考虑查看整$ /个文件并检查新添加的内容。它们会降低现有代码的质量,还是会使现有功能成为重构的候选对象?

如果不在函数/方法或类的上下文中检查此类简单的添加项,则随着时间的流逝,您将继承一个类,该类是不可维护的,超级复杂的,难以测试的,无法完成的所有工作,并且难以扩展或重构。

请记住,随着时间的推移,很少的改进加起来就可以产生具有最少数量缺陷的优质产品,同样,随着时间的流逝,轻微的代码降级或技术负s 9 ` S担也会加重并: $ ; ~ A O #导致产品难以维护和扩展。

11.认可并鼓励代码评审j 2 [ f 1期间的良好工作

如果您[ D J在变更列表中看到} ] a f了一些不错的东西,请别忘了喊出作者的出色作品并鼓励他们。这是我c t m 3 K j / 1个人以前从未做过的事情。代码t ? - % 7 r q审查的目的不仅应该是发现错误,还应该鼓励和指导开发人员所做的出色工作。

12.在代码审查中要谨慎,尊重,友善和5 t 4清晰

至关重要的是,在代码审阅期间,您要善良,清晰,礼貌和尊重,同时也要对作者非常清楚和乐于助人。查看代码时,请确保对代码而不是开发人员做出评论。

13.解释您的代码审查注_ g V 1释,并牢记范围

每当代码审阅意见提出替代方法或进行标E v 9 1 +记时,至关重要的是要解释k - n a g D原因并根据您的知识和经验提供示例,以帮助开发人员了解您的建议将如何帮助提高代码质量。

当建议修复或更改时,请在如何指导作者修复代码方面找到适当的平衡。例如,我很欣赏指导,解释,一些提示或建: & h G V K ` s议,而不是整个解决方案。