代码审查的主要目的是确保Google代码库的整体代码的健康改善。代码评审的所有工具和过程都是为此目的而设计的。
为了实现这一目标,必须平衡一系列的权衡。
首先,开发人员必须能够在他们的任务上取得进展。如果你从来没有提交改善代码库,那么代码永远不会提高。此外,如果审查人员使任何更改都很难进行,那么开发人员就没有动力在将来进行改进。
另一方面,审查员的职责是确保每个CL的质量,使其代码库的总体代码健康度不会随着时间的推移而下降。这可能很棘手,因为随着时间的推移,代码库常常会随着代码健康状况的小幅下降而退化,尤其是当团队面临重大的时间限制,并且他们觉得必须走捷径才能实现目标时。
此外,审查员对他们所审查的代码拥有所有权和责任。他们希望确保代码库保持一致、可维护,以及“在代码评审中寻找什么”中提到的所有其他内容。
因此,我们得到以下规则作为我们在代码评审中期望的标准:
一般来说,评审员应该赞成在CL处于一种状态时批准它,在这种状态下,即使CL不是完美的,它也肯定会改善正在处理的系统的整体代码健康状况。
In general, reviewers should favor approving a CL once it is in a state where it definitely improves the overall code health of the system being worked on, even if the CL isn't perfect.
这是所有代码评审指南中的高级原则。
当然,这也有局限性。例如,如果CL添加了审查员不希望在系统中使用的特性,那么