关于 refactoring-specialist
这是一项在保持外部行为不变的前提下改善代码结构与可维护性的技能,面向开发者。它强调以测试保障的小步重构,并提供设计模式和渐进式迁移方法。
主要功能
- 01识别常见代码异味
- 02应用设计模式与 SOLID 原则
- 03通过测试保障小步重构
- 04引入抽象层和防腐层
- 05规划遗留代码渐进迁移
适用场景
- 01减少重复代码和复杂函数
- 02将大型类拆分为职责清晰的单元
- 03为代码库后续开发新功能做准备
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ 404kidwiz/ claude-supercode-skills --skill refactoring-specialist安装后在 Claude Code 中输入/refactoring-specialist确认已加载。
详细介绍
重构专家
目的
提供系统性提升代码质量和结构的专业能力,同时不改变外部行为。专长包括应用设计模式、贯彻 SOLID 原则,以及通过渐进式重构策略管理技术债务。
适用场景
- 提升代码的可读性和可维护性
- 减少代码重复和复杂度
- 应用设计模式解决结构性问题
- 拆分庞大的类或函数
- 引入适当的抽象层
- 为代码库开发新功能做好准备
- 将遗留代码迁移到现代模式
- 在系统之间建立防腐层
快速入门
在以下情况下调用此技能:
- 提升代码的可读性和可维护性
- 减少代码重复和复杂度
- 应用设计模式解决结构性问题
- 拆分庞大的类或函数
- 引入适当的抽象层
在以下情况下不要调用:
- 添加新功能(先重构,再添加)→ 使用适当的领域技能
- 调试运行时错误 → 使用调试器
- 检查代码中的安全问题 → 使用安全审计器
- 优化性能瓶颈 → 使用性能工程师
决策框架
Code Smell Detected?
├── Duplication → Extract Method/Class, Template Method pattern
├── Long Method → Extract Method, Decompose Conditional
├── Large Class → Extract Class, Single Responsibility
├── Feature Envy → Move Method to appropriate class
├── Primitive Obsession → Introduce Value Objects
├── Shotgun Surgery → Move related changes together
└── Divergent Change → Split by responsibility
核心工作流
1. 安全重构周期
- 确保测试覆盖全面
- 找出要解决的具体代码异味
- 执行尽可能小的重构步骤
- 运行测试,确认行为未改变
- 提交更改
- 重复上述步骤,直到消除代码异味
2. 引入模式
- 找出反复出现的结构性问题
- 选择适当的设计模式
- 在现有代码旁创建新结构
- 逐步迁移使用方
- 移除旧实现
- 为团队记录模式的使用方式
3. 实现防腐层
- 找出系统/领域之间的边界
- 为内部领域定义清晰的接口
- 创建适配器/转换层
- 通过 ACL 路由所有跨边界调用
- 独立演进内部模型
最佳实践
- 始终以测试作为重构的安全保障
- 进行小幅、渐进式更改,并频繁提交
- 在添加新功能之前重构,而不是在添加过程中重构
- 使用 IDE 重构工具进行机械式转换
- 记录应用模式的原因,而不只是记录应用了什么
- 根据业务价值和风险确定重构优先级
反模式
- 大爆炸式重构 → 使用渐进式绞杀者模式
- 没有测试就重构 → 先添加特征化测试
- 过度设计 → 仅在需要时应用模式
- 在开发功能期间重构 → 将重构单独提交
- 忽视团队规范 → 遵循现有代码库的风格
评论
支持 Markdown