TDD 重构工作流
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/tdd-workflows-tdd-refactor。
技能介绍
重构时测试红了,还是不敢动代码?
TDD 的 Refactor 阶段最容易踩坑:功能已经由测试锁住,但结构债、重复逻辑和「顺手改行为」往往让套件在几轮改动后变红,回滚成本也高。本技能面向「在保持全部测试绿色的前提下改结构」这一具体约束,把重构前评估、增量步骤和失败恢复协议串成可执行流程,而不是泛泛的设计原则清单。
技能如何工作
用法上通过 Task 工具指定 subagent_type="tdd-orchestrator"",由编排智能体在测试网保护下做复杂重构。核心流程包括:
- 重构前评估:跑测试建立绿色基线,分析坏味道与覆盖率,必要时记录性能指标,再制定增量计划。
- 改动维度:从重复代码、过长方法/类、参数列表到 Feature Envy、Primitive Obsession、switch 泛滥等,对应抽取、移动、值对象、多态等手法;设计模式与 SOLID 仅在能明确降复杂度时采用。
- 验证节奏:小步原子修改,每步后跑测试;重构与行为变更分离;性能改动需前后测量;提交前对照安全检查清单(全绿、无回归、覆盖率不降等)。
更细的示例与 playbook 见资料中的 resources/implementation-playbook.md。
适用边界
- 适用:任务明确属于 TDD 工作流中的重构环节,需要检查清单、最佳实践或可验证步骤时。
- 不适用:与 TDD 重构无关的需求,或需要本技能范围外的其他领域/工具时;不要指望它替代你们项目里缺失的测试或 CI 基线——没有绿色套件,「安全重构」无从谈起。
使用场景
- 功能测试已全部通过,需要在同一迭代内拆分过长方法并抽取重复逻辑,且每一步改动后套件仍保持绿色
- 接手遗留模块,要在不修改对外行为的前提下消除 Feature Envy 与大段 switch,并记录已用的重构手法清单
- 性能 profiling 已定位瓶颈,需在跑完整测试套件验证无回归的同时优化算法或数据结构并对比前后指标
- 大规模结构调整前,需要先建立绿色基线、制定增量重构计划,并在测试失败时按恢复协议回退再缩小改动粒度
适合人员
- 负责核心业务模块、测试覆盖率已达标,却需要在 refactor 阶段持续还结构债而不引入功能回归的后端工程师
- 推行 TDD 的技术负责人,希望团队共享同一套坏味道检测、SOLID 检查与提交前安全清单
- 维护遗留单体或边界混乱代码库,计划用绞杀者无花果、Mikado 等渐进手法替换模块的维护者
- 在 CI 中强制测试全绿,且要求重构与行为变更分 commit、每步可回滚的全栈或平台工程师