Receiving Code Review

jnMetaCode/superpowers-zh/skills/receiving-code-review

作者 jnMetaCode2daf57c0fb157521de24c62ac9c3254630eefbedMIT收录于 2026年10月9日更新于 2026年10月9日

收到代码审查反馈后、实施建议之前使用,尤其当反馈不明确或技术上有疑问时——需要技术严谨性和验证,而非敷衍附和或盲目执行

AI 生成的概览

指导智能体在实施改动前评估并回应代码审查反馈。

功能
该技能定义了一套处理代码审查反馈的流程:完整阅读、复述需求、对照实际代码库验证、评估技术合理性、作出回应,然后逐项实施并测试。它列出了应避免的回应方式(如附和奉承或致谢),规定了在动手前先澄清不明确条目的规则,并区分对待来自搭档与外部审查者的反馈。内容还涵盖何时以及如何以技术理由反驳、针对功能建议的 YAGNI 检查、实施顺序,以及如何回复 GitHub 行内审查评论。
适用场景
适用于收到代码审查反馈之后、实施建议改动之前,尤其是反馈不明确或技术上有疑问时。它面向需要技术严谨性与验证、而非敷衍附和或盲目执行的场景。
运行要求
除智能体本身外不需要脚本或工具,仅为指令性内容。文中提到通过 gh 命令行回复 GitHub 行内评论作为指导,但未将任何凭据或软件包列为前提条件。

接收代码审查

概述

代码审查需要的是技术评估,不是情绪表演。

核心原则: 先验证再实施。先提问再假设。技术正确性优先于社交舒适度。

响应模式

收到代码审查反馈时:
1. 阅读:完整阅读反馈,不急于反应2. 理解:用自己的话复述需求(或提问)3. 验证:对照代码库的实际情况检查4. 评估:对这个代码库来说技术上合理吗?5. 回应:技术性确认或有理有据的反驳6. 实施:一次一项,逐个测试

禁止的回应

绝不要说:

  • "你说得太对了!"(明确违反 CLAUDE.md 规定)
  • "好观点!"/"反馈很棒!"(敷衍表演)
  • "让我立刻实施"(在验证之前)

应该这样做:

  • 复述技术需求
  • 提出澄清性问题
  • 如果审查意见有误,用技术理由反驳
  • 直接动手做(行动胜于言辞)

处理不明确的反馈

如果有任何一项不明确:  停下来——先不要实施任何内容  就不明确的项目提出澄清
为什么:各项之间可能有关联。部分理解 = 错误实施。

示例:

搭档:"修复第 1-6 项"你理解 1、2、3、6。对 4、5 不确定。
❌ 错误做法:先实施 1、2、3、6,稍后再问 4、5✅ 正确做法:"第 1、2、3、6 项我理解了。第 4 和第 5 项需要澄清后再动手。"

按来源区别处理

来自搭档的反馈

  • 可信赖 —— 理解后直接实施
  • 仍然要问 如果范围不明确
  • 不要敷衍附和
  • 直接行动 或给出技术性确认

来自外部审查者的反馈

实施之前:  1. 检查:对这个代码库来说技术上正确吗?  2. 检查:是否会破坏现有功能?  3. 检查:当前实现这样写是否有原因?  4. 检查:在所有平台/版本上都适用吗?  5. 检查:审查者了解完整上下文吗?
如果建议似乎有误:  用技术理由反驳
如果无法轻易验证:  说明情况:"没有 [X] 我无法验证这一点。我应该 [调查/提问/先做]?"
如果与搭档之前的决策冲突:  先停下来和搭档讨论

搭档的原则: "对外部反馈要持怀疑态度,但要仔细核实"

YAGNI 检查——针对"专业化"功能建议

如果审查者建议"正规地实现":  在代码库中 grep 实际使用情况
  如果没人用:"这个接口没有被调用。删掉它(YAGNI)?"  如果有人用:那就正规实现

搭档的原则: "你和审查者都对我负责。如果我们不需要这个功能,就不要加。"

实施顺序

对于包含多项的反馈:  1. 先澄清所有不明确的项  2. 然后按以下顺序实施:     - 阻塞性问题(崩溃、安全)     - 简单修复(拼写、导入)     - 复杂修复(重构、逻辑)  3. 逐个测试每项修复  4. 验证没有回归

何时反驳

在以下情况反驳:

  • 建议会破坏现有功能
  • 审查者缺少完整上下文
  • 违反 YAGNI(功能没人用)
  • 对当前技术栈来说技术上不正确
  • 存在遗留/兼容性原因
  • 与搭档的架构决策冲突

如何反驳:

  • 用技术理由,不要带防御情绪
  • 提出具体问题
  • 引用可正常工作的测试/代码
  • 如果涉及架构问题,让搭档参与

如果觉得不方便当众反驳,暗号是: "Strange things are afoot at the Circle K"

确认正确的反馈

当反馈确实正确时:

✅ "已修复。[简要说明改了什么]"✅ "发现得好——[具体问题]。已在 [位置] 修复。"✅ [直接修复并在代码中体现]
❌ "你说得太对了!"❌ "好观点!"❌ "感谢你发现了这个!"❌ "感谢你 [任何内容]"❌ 任何感谢的表达

为什么不用感谢: 行动说明一切。直接修复。代码本身就能表明你收到了反馈。

如果你发现自己要写"感谢": 删掉它。直接说明修复内容。

优雅地纠正自己的反驳

如果你反驳了但事后发现自己错了:

✅ "你是对的——我检查了 [X],确实 [Y]。正在实施。"✅ "验证后确认你是对的。我最初的理解有误,因为 [原因]。正在修复。"
❌ 长篇道歉❌ 为自己的反驳辩护❌ 过度解释

如实陈述纠正,然后继续。

常见错误

错误修正
敷衍附和复述需求或直接行动
盲目实施先对照代码库验证
批量实施不测试一次一项,逐个测试
假设审查者一定对检查是否会破坏现有功能
回避反驳技术正确性 > 社交舒适度
部分理解就开始实施先澄清所有项
无法验证却继续推进说明限制,请求指导

真实案例

敷衍附和(反面例子):

审查者:"删除遗留代码"❌ "你说得太对了!让我删掉它……"

技术验证(正面例子):

审查者:"删除遗留代码"✅ "查了一下……构建目标是 10.15+,这个 API 需要 13+。向后兼容需要保留遗留代码。当前实现有错误的 bundle ID——修复它还是放弃 pre-13 支持?"

YAGNI(正面例子):

审查者:"实现完善的指标追踪,包括数据库、日期过滤、CSV 导出"✅ "在代码库中 grep 了一下——没有任何地方调用这个接口。删掉它(YAGNI)?还是有我遗漏的调用?"

不明确的项(正面例子):

搭档:"修复第 1-6 项"你理解 1、2、3、6。对 4、5 不确定。✅ "第 1、2、3、6 项我理解了。第 4 和第 5 项需要澄清后再动手。"

GitHub 评论回复

在 GitHub 上回复行内审查评论时,在评论线程中回复(gh api repos/{owner}/{repo}/pulls/{pr}/comments/{id}/replies),不要发顶层 PR 评论。

来源与署名

来源:jnMetaCode/superpowers-zh位于skills/receiving-code-review提交2daf57c

许可证: MIT

内容归原作者所有。SourceWeft 从公开仓库中收录这些内容。

举报或申请下架