# 代码审核指南

## 介绍

开发者写完代码后，让其他人来审视这些代码，这个过程称为代码审核（译者注：也译为“代码评审”或“代码审视”）。

在 Google，我们通过代码审核来保证代码质量，进而保证产品质量。

此文档是 Google 代码审核审核流程和政策的规范说明。

本节对代码审核过程作简要介绍，后面的两篇文档会做更详细的说明：

* [**怎样做代码审核**](/google/index.md) ：针对代码审核者的指南。
* [**开发者指南** ](/google/developer.md)：针对 CL 提交者的指南。

## 代码审核者应该看什么？

代码审核者应该关注以下事项：

* **设计**：代码是否设计良好？这种设计是否适合当前系统？
* **功能**：代码实现的行为与作者的期望是否相符？代码实现的交互界面对用户是否友好？
* **复杂性**：代码是否有简化的空间？如果将来有其他开发者使用这段代码，他能快速理解代码的含义吗？
* **测试**：这段代码是否有正确的、设计良好的自动化测试？
* **命名**：在为变量、类名、方法等命名时，开发者使用的名称是否清晰易懂？
* **注释**：所有的注释是否都一目了然，且有助于理解代码？
* **代码风格**：所有的代码是否都遵循[代码风格指南](http://google.github.io/styleguide/)？
* **文档**：在开发代码时，开发者是否也更新了相关文档？

详情可参见文档：[怎样做代码审核 ](/google/index.md)。

### 挑选最好的代码审核者

一般来讲，你一定会找\_最好\_的代码审核者来帮你审核代码，这个人应该在你期望的时间内有能力对审核工作负责。

如果若干人能对你的代码给出正确的反馈意见，那么最好的审核者就是这些人中最有见地的那位。他可能是你正在修改的代码的原始作者，但这不是绝对的。有时候，一位代码审核者无法覆盖整个 CL，他们只能审核其中一部分，这种情况就需要多位审核者（这并不意味着当一位审核者能覆盖所有代码时，就只需要一位审核者），以确保所有审核者的共同审核能覆盖所有代码。

如果最理想的代码审核者无法帮你审核，至少应该抄送给他（或者把他加到可选审核者名单里去）。

### 面对面审核（与结对编程）

如果你正在与一个人结对编程，你的伙伴已经对代码做过细致审核，那么这段代码可以认为是审核通过的。

你还可以与代码审核者进行面对面审核。当有疑问时，审核者与开发者以问答的方式审核代码。

## 参考

* [怎样做代码审核](/google/index.md)：针对代码审核者的指南。
* [开发者指南](/google/developer.md)：针对 CL 提交者的指南。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://zijinshi.gitbook.io/google/review.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
