代码审查 code-review

这个技能提供了代码审查的完整框架,包括接收反馈、请求审查和验证关口的协议,强调技术验证和证据驱动的实践。适用于软件开发团队提高代码质量和协作效率,确保在代码合并前进行严格的质量控制。关键词:代码审查、代码评审、技术验证、软件开发、质量控制、代码质量、验证关口、质量保证。

测试 0 次安装 0 次浏览 更新于 3/7/2026

名称: 代码审查 描述: 代码审查实践,强调技术严谨性和验证关口。用于接收反馈、请求代码审查者子代理审查或防止拉取请求中的虚假完成声明。

代码审查

指导正确的代码审查实践,强调技术严谨性、基于证据的声明和验证胜过表演性回应。

概述

代码审查需要三种不同的实践:

  1. 接收反馈 - 技术评估胜过表演性同意
  2. 请求审查 - 通过代码审查者子代理进行系统审查
  3. 验证关口 - 在任何完成声明之前的证据

每种实践都有特定的触发器和协议,详见参考文件。

核心原则

技术正确性胜过社交舒适度。 在实施前验证。在假设前询问。在声明前提供证据。

何时使用此技能

接收反馈

触发当:

  • 从任何来源接收代码审查评论
  • 反馈似乎不清晰或技术上可疑
  • 多个审查项目需要优先级排序
  • 外部审查者缺乏完整上下文
  • 建议与现有决策冲突

参考: references/code-review-reception.md

请求审查

触发当:

  • 在子代理驱动开发中完成任务后(每个任务后)
  • 完成主要功能或重构后
  • 在合并到主分支之前
  • 卡住并需要新视角
  • 修复复杂错误后

参考: references/requesting-code-review.md

验证关口

触发当:

  • 即将声明测试通过、构建成功或工作完成
  • 在提交、推送或创建拉取请求之前
  • 移动到下一个任务
  • 任何暗示成功/完成的陈述
  • 表达对工作的满意

参考: references/verification-before-completion.md

快速决策树

情况?
│
├─ 接收反馈
│  ├─ 不清晰项目? → 停止,首先要求澄清
│  ├─ 来自人类伙伴? → 理解,然后实施
│  └─ 来自外部审查者? → 在实施前进行技术验证
│
├─ 完成工作
│  ├─ 主要功能/任务? → 请求代码审查者子代理审查
│  └─ 在合并前? → 请求代码审查者子代理审查
│
└─ 即将声明状态
   ├─ 有新鲜验证? → 提供证据声明
   └─ 没有新鲜验证? → 首先运行验证命令

接收反馈协议

响应模式

阅读 → 理解 → 验证 → 评估 → 响应 → 实施

关键规则

  • ❌ 无表演性同意:“你完全正确!”、“好观点!”、“感谢[任何内容]”
  • ❌ 在验证前无实施
  • ✅ 重申需求,提问,用技术推理推回,或直接开始工作
  • ✅ 如果不清晰:停止,并首先澄清所有不清晰项目
  • ✅ YAGNI检查:在实施建议的"适当"功能前,使用grep检查使用情况

来源处理

  • 人类伙伴: 可信 - 在理解后实施,无表演性同意
  • 外部审查者: 验证技术上正确,检查是否破坏,如果错误则推回

完整协议: references/code-review-reception.md

请求审查协议

何时请求

  • 在子代理驱动开发中的每个任务后
  • 在主要功能完成后
  • 在合并到主分支之前

过程

  1. 获取git SHAs:BASE_SHA=$(git rev-parse HEAD~1)HEAD_SHA=$(git rev-parse HEAD)
  2. 通过任务工具调度代码审查者子代理,附带:WHAT_WAS_IMPLEMENTED, PLAN_OR_REQUIREMENTS, BASE_SHA, HEAD_SHA, DESCRIPTION
  3. 根据反馈行动:立即修复关键问题,在继续进行前修复重要问题,注意次要问题后续处理

完整协议: references/requesting-code-review.md

验证关口协议

铁律

没有新鲜验证证据就没有完成声明

关口功能

识别命令 → 运行完整命令 → 读取输出 → 验证确认声明 → 然后声明

跳过任何步骤 = 撒谎,而非验证

要求

  • 测试通过:测试输出显示0失败
  • 构建成功:构建命令退出码0
  • 错误修复:原始症状测试通过
  • 需求满足:逐行检查清单验证

验证命令

# 测试(首选bun)
bun test  # 或:npm test

# 构建
bun run build  # 或:npm run build

# 代码检查
bun run lint  # 或:npm run lint

# 类型检查
bun run typecheck  # 或:bunx tsc --noEmit

危险信号 - 停止

使用"应该"/“可能”/“似乎”,在验证前表达满意,在验证前提交,信任代理报告,任何暗示成功而没有运行验证的措辞

完整协议: references/verification-before-completion.md

与工作流集成

  • 子代理驱动: 每个任务后审查,在移动到下一个任务前验证
  • 拉取请求: 验证测试通过,在合并前请求代码审查者审查
  • 通用: 在任何状态声明前应用验证关口,对无效反馈推回

底线

  1. 技术严谨性胜过社交表现 - 无表演性同意
  2. 系统审查过程 - 使用代码审查者子代理
  3. 证据先于声明 - 总是验证关口

验证。质疑。然后实施。证据。然后声明。