# Refactoring Patterns

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

- Skill: `misonl/refactoring-patterns` (Agent Skill)
- Install (CLI): `npx skillmds@latest add misonl/refactoring-patterns`
- Raw SKILL.md: https://api.skillmd.com/api/skills/misonl/refactoring-patterns/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: misonl (https://skillmd.com/u/misonl)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/misonl/refactoring-patterns

---


# 重构模式（Refactoring Patterns）

## 目标

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

## 适用场景

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

## 执行顺序（强制）

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

## 常用模式

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

## 禁止事项

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

## 完成标准

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

