request-refactor-plan

工程开发 社区 @mattpocock
信任分
88/100
兼容 Agent
1
速查档案 只列事实:领域、Agent、信任分、作者、原文章节。装与不装请看下方作者解读。
领域
工程开发
兼容 Agent
Claude Code
信任分
88 / 100 · 社区维护
作者 / 版本 / 许可
@mattpocock · 未声明 license
安装命令数
1 条

需要注意: 未限定 allowed-tools,默认拥有全部工具权限。

想读作者英文原文? ↓ 滚到正文区切换 · 在 GitHub 查看 ↗

解读由编辑根据原文凝练而成,命令、链接、术语均与作者原文一致;想看完整论述请切到右侧

request-refactor-plan 的存在前提是:重构最大的风险不是技术,是「改到一半发现方向错了」。所以它强迫你在动一行代码之前,把问题陈述、方案、tiny commit 列表、决策、测试方案、out-of-scope 全部写进一份 GitHub issue,再开始执行。

设计思路

作者引用 Martin Fowler 的提醒:「make each refactoring step as small as possible, so that you can always see the program working」——每一步都要小到随时可回滚、随时能跑。这个技能不是直接重构,而是把重构 RFC 流程化,让人和 agent 都能盯着同一份计划干。

工作流(8 步)

① 让用户长篇详细地描述要解决的问题与初步想法;② 翻代码验证用户陈述、理解现状;③ 问是否考虑过别的方案,并主动提出备选;④ 极其详细地访谈实现细节;⑤ 把要改的 / 不改的范围钉死;⑥ 看测试覆盖,不够就问用户测试计划;⑦ 拆成「每个 commit 都让代码处于工作状态」的微步列表;⑧ 用模板创建 GitHub issue。

Issue 模板

作者给的模板包含:Problem Statement(开发者视角的问题)、Solution(开发者视角的方案)、Commits(plain English 的长详细实现计划,拆到最小 commit)、Decision Document(模块、接口、技术澄清、架构、schema、API 契约——但写具体文件路径或代码片段,因为它们会过时)、Testing Decisions(什么是好测试、要测哪些模块、参考的同类测试)、Out of Scope(明确不做什么)、Further Notes(可选)。

适合谁

  • 计划做跨模块 / 跨 schema 重构,要先和团队对齐
  • 团队习惯把 RFC 走在 PR 之前
  • 让 AI agent 跟人接力做长链路重构,需要一份双方都能 follow 的计划

何时不要用

  • 改动只有一两个 commit、风险极低——直接做即可
  • 项目没用 GitHub issue / 不接受 issue 驱动的开发节奏

配套

writing-plans(写非 RFC 类型的计划文件)、executing-plans(按计划落地)、subagent-driven-development(多 agent 接力执行 commit 列表)、ubiquitous-language(计划里用的领域术语锚定)。