# Code Review 流程 ## 触发场景 收到 MR/PR 需要评审时。 ## 准备 切换到对应分支并获取变更内容: ```bash # GitLab glab mr checkout glab mr view | cat glab mr diff | cat # GitHub gh pr checkout gh pr view gh pr diff ``` ## 评审流程 逐步执行以下维度。改动简单时可跳过某些步骤。 ### 1. 理解业务目标 - 能否理解本次改动的业务目标? - 如果目标不明确,先确认再评审。 ### 2. High-level Review - 改动是否放在了合适的位置? - 是否尽可能复用已有实现? - 是否有破坏现有设计与逻辑的可能? ### 3. Bug 检查 - 是否隐含业务错误、逻辑纰漏或安全问题? - **未修改**的相关联代码是否有遗漏? ### 4. 代码清晰度 - 逻辑是否简洁易懂? - 命名是否清晰合理? - 一年后再读,是否能轻松理解? ### 5. KISS 原则 - 是否有不必要的复杂度? - 是否有未使用的定义、过多参数? - 是否重复造轮子? ### 6. 单一职责 - 每个函数/类是否只做一件事? - 文件/类/方法行数是否合理? ### 7. 测试覆盖 - 复杂业务逻辑(含 if/else/for)是否有测试? - 测试是否有效(非空实现)? - 不应过度测试无控制逻辑的代码。 ## 输出 评审完成后,总结发现的**重点问题**,按严重性排列。 ## AI 与人工的分工 | 维度 | 负责方 | 说明 | | ---- | ------ | ---- | | Bug、逻辑漏洞、安全问题 | **AI + 人工** | AI 负责初筛与证据收集,结论需人工复核 | | 代码清晰度、KISS、单一职责 | **AI + 人工** | AI 提供候选问题,人工决定是否采纳 | | 架构合理性、业务对齐 | **人工** | AI 反馈少且准确率低,需人工把关 | | 兼容性、历史债务、战略取舍 | **人工** | 依赖背景知识,AI 难以判断 | > 规则:AI 结论必须附文件路径、行号或可复现依据;缺少证据时按待确认假设处理。 > > 注意:评审不只看 diff,需结合代码库整体上下文做评估。