SuperAPI AI 工具集

safe-refactor

编程与开发

查看项目

更新于 10-15 21:38

技能介绍

用途:在重构、重写或迁移关键代码路径时,编排一个安全循环:评估风险→实施→验证→文档记录,串联 pre-mortem 与证明相关的验证技能。

前置技能:pre-mortem(开始前风险评估,缺失时回退到内置清单)、prove-it(强制验证,缺失时回退到内置验证)、retrospective(记录经验,可选阶段,缺失时跳过)。

主要能力与阶段: 1)评估风险:列出受影响文件、修改的函数/类、估计改动行数,识别是否触及共享/核心代码、数据持久化、公共 API、缺乏测试、他人代码、生产关键路径,并给出风险等级(低/中/高/中止)。中止条件:风险为“中止”、勾选超过 3 项风险因素且无测试、无法列出全部受影响文件。高风险建议拆分为更小重构。 2)准备:确保存在测试或先写特征测试;用 git stash 或提交当前状态,并创建分支 git checkout -b refactor/[description];记录当前行为与期望行为(外部行为必须完全一致)。 3)实施:一次只做一件事,不混入功能变更、不顺手修 bug、不做额外改进;小步提交,示例 git commit -m "Extract helper function";频繁运行测试,失败则回退并缩小步子;严格保持行为不变。 4)验证:若安装 prove-it 则调用,否则按内置清单执行:现有测试通过、无新 linter 错误、类型检查通过(如适用)、手动验证主用例与边界用例、git diff 仅含预期改动、无调试代码。验证失败时可用 git revert HEAD 回退重来。 5)文档(可选):若安装 retrospective,对重要重构调用,记录重构内容与原因、难点、浮现的模式。

输出格式:包含风险评级、受影响文件数、风险因素、准备情况、提交数、验证结果、经验总结等小节。

限制与禁止事项:绝不将重构与功能变更混在一起,绝不跳过风险评估,绝不在无测试覆盖下做大型改动,绝不一次性大提交,绝不顺手修 bug,绝不基于失败测试继续;始终先评估风险、确保有测试、在分支上工作并留好退路、小步提交、逐步运行测试、精确验证行为保持。

适用场景:修改共享/核心代码、生产关键路径、他人或不熟悉代码、数据持久化或公共 API 变更等。是否收费、价格与平台信息暂未提供。