用途:用于遗留代码现代化、技术栈迁移与消除阻塞新功能的技术债,目标是低风险、高影响地改善可维护性、降低复杂度,并为性能优化做准备。不适用于新增功能、稳定且不会改动的代码、缺少测试覆盖的生产关键代码,以及时间极紧或处于变更冻结期的情况。
主要能力与规则:开始前建立安全网(git add . 提交快照、新建分支与标签、保存测试与构建基线);重构前必须具备测试覆盖(先补特征化测试,建议单元覆盖≥80%、集成覆盖≥60%);小步增量、原子提交,单次提交目标小于300行,每个稳定状态即提交;用特性开关实现新旧实现运行时切换与灰度发布(如5%→25%→50%→100%后移除开关);重构只改变实现方式不改变行为,行为变更需在重构后的独立提交中完成;机械变换用自动化工具(如 npx jscodeshift -t codemod.js src/);锁定依赖以便回滚(npm ci、pip freeze、bundle install --frozen);JS→TS 逐步引入类型(@ts-check、JSDoc、重命名、strict 配置);按 ROI 排优先级,并避免大爆炸式替换与单次大提交。
使用方式:按决策树判断是否重构(测试覆盖是否足够、代码未来是否频繁变动、行为能否保持、技术栈是否过时、工作量与ROI),并遵循四阶段流程与四道关卡:启动审批、基线捕获、重构执行、中期评审(50%)、合规审计、合并前验证、生产部署、部署后指标核对(错误率与延迟不高于基线24小时、零用户投诉、业务指标不变)。
适用场景:遗留系统现代化、框架或数据层替换、回调改 async/await、Redux 迁移与类型迁移等。
限制:资料未提供收费、价格与平台信息;文中命令、配置与阈值应结合项目实际情况评估,切勿在无测试覆盖或无法回滚时执行。