Refactoring Patterns

遗留系统的安全重构模式。适用于代码异味治理、模块拆分、接口迁移与低风险迭代重构。

misonl a27152a 1.6 KB Updated

File contents

重构模式(Refactoring Patterns)

目标

在不破坏现有行为的前提下,逐步提升可读性、可测试性与可维护性。

适用场景

  • 巨型函数、深层嵌套、重复逻辑。
  • 历史模块耦合严重,改一处影响多处。
  • 需要在持续交付中逐步替换旧实现,而非一次性重写。

执行顺序(强制)

  1. 先锁定行为:补齐回归测试或特征测试(characterization tests)。
  2. 小步提交:每次只做一种重构动作(如提取函数、重命名、移动模块)。
  3. 每步验证:确保测试通过后再进入下一步。
  4. 接口稳定优先:对外 API 先兼容,内部再逐层替换。

常用模式

  • 提取函数(Extract Function):把多职责逻辑拆成具名步骤。
  • 引入门面(Facade):先封装旧接口,再在门面后逐步替换实现。
  • 依赖倒置(Dependency Inversion):把硬编码依赖替换为可注入接口。
  • 删除死代码(Dead Code Removal):仅在有覆盖和调用链确认后执行。

禁止事项

  • 无测试直接大规模重写。
  • 同一提交混入功能变更与重构变更。
  • 修改外部契约却不提供迁移路径或兼容层。

完成标准

  • 行为保持一致(回归测试通过)。
  • 复杂度下降(函数长度、嵌套层级、重复率可观测改善)。
  • 变更说明清晰(记录重构动机、范围与风险点)。

misonl/ling/tree/main/.agents/skills/refactoring-patterns commit a27152aeb3

Frequently asked questions

npx skillmds@latest add misonl/refactoring-patterns