名称: 代码审查 描述: 用于在接收代码审查反馈时(尤其是模糊或有技术疑问时),在完成任务或需要审查的主要功能前,或在任何完成/成功声明前。涵盖三个实践——以技术严谨性而非表演性同意接收反馈,通过代码审查员子代理请求审查,以及验证网关要求在状态声明前提供证据。对于子代理驱动开发、拉取请求和防止错误完成声明至关重要。
代码审查
指导正确的代码审查实践,强调技术严谨性、基于证据的声明和验证,而非表演性回应。
概述
代码审查需要三个不同的实践:
- 接收反馈 - 技术评估而非表演性同意
- 请求审查 - 通过代码审查员子代理进行系统性审查
- 验证网关 - 在任何完成声明前提供证据
每个实践在参考文件中有特定的触发器和协议。
核心原则
技术正确性优先于社交舒适度。 在实施前验证。在假设前询问。证据优先于声明。
何时使用此技能
接收反馈
触发时机:
- 从任何来源接收代码审查评论时
- 反馈似乎模糊或有技术疑问时
- 需要优先处理多个审查项目时
- 外部审查员缺乏完整上下文时
- 建议与现有决策冲突时
参考: references/code-review-reception.md
请求审查
触发时机:
- 在子代理驱动开发中完成每个任务后
- 完成主要功能或重构后
- 合并到主分支前
- 卡住并需要新视角时
- 修复复杂漏洞后
参考: references/requesting-code-review.md
验证网关
触发时机:
- 即将声明测试通过、构建成功或工作完成时
- 提交、推送或创建PR前
- 移动到下一个任务前
- 任何暗示成功/完成的陈述时
- 表达工作满意时
参考: references/verification-before-completion.md
快速决策树
情况?
│
├─ 收到反馈
│ ├─ 有模糊项目? → 停止,先请求澄清
│ ├─ 来自人类伙伴? → 理解,然后实施
│ └─ 来自外部审查员? → 在实施前进行技术验证
│
├─ 完成工作
│ ├─ 主要功能/任务? → 请求代码审查员子代理审查
│ └─ 合并前? → 请求代码审查员子代理审查
│
└─ 即将声明状态
├─ 有新鲜验证? → 声明时附带证据
└─ 没有新鲜验证? → 先运行验证命令
接收反馈协议
回应模式
读取 → 理解 → 验证 → 评估 → 回应 → 实施
关键规则
- ❌ 无表演性同意:“你绝对正确!”、“好观点!”、“感谢[任何内容]”
- ❌ 验证前不实施
- ✅ 重述要求、提出问题、用技术推理推回,或直接开始工作
- ✅ 如果模糊:停止,并先请求所有模糊项目的澄清
- ✅ YAGNI检查:在实施建议的"适当"功能前,grep查找使用情况
来源处理
- 人类伙伴: 可信的 - 理解后实施,无需表演性同意
- 外部审查员: 验证技术正确,检查是否破坏,如果错误则推回
完整协议: references/code-review-reception.md
请求审查协议
何时请求
- 在子代理驱动开发中完成每个任务后
- 完成主要功能后
- 合并到主分支前
流程
- 获取git SHA:
BASE_SHA=$(git rev-parse HEAD~1)和HEAD_SHA=$(git rev-parse HEAD) - 通过任务工具分派代码审查员子代理,附带:WHAT_WAS_IMPLEMENTED、PLAN_OR_REQUIREMENTS、BASE_SHA、HEAD_SHA、DESCRIPTION
- 根据反馈行动:立即修复关键问题,重要问题前处理,次要问题记下后续处理
完整协议: references/requesting-code-review.md
验证网关协议
铁律
没有新鲜验证证据,不声明完成
网关功能
识别命令 → 运行完整命令 → 读取输出 → 验证确认声明 → 然后声明
跳过任何步骤 = 撒谎,未验证
要求
- 测试通过:测试输出显示0失败
- 构建成功:构建命令退出码为0
- 漏洞修复:原始症状测试通过
- 要求满足:逐行检查清单验证
红旗 - 停止
使用"应该"/“可能”/“似乎”,验证前表达满意,未验证就提交,信任代理报告,任何暗示成功但未运行验证的措辞
完整协议: references/verification-before-completion.md
与工作流集成
- 子代理驱动: 每个任务后审查,移动到下一个任务前验证
- 拉取请求: 验证测试通过,合并前请求代码审查员审查
- 通用: 在任何状态声明前应用验证网关,对无效反馈推回
底线
- 技术严谨性优先于社交表现 - 无表演性同意
- 系统性审查流程 - 使用代码审查员子代理
- 证据优先于声明 - 始终使用验证网关
验证。提问。然后实施。证据。然后声明。