Agent skill
refactoring
执行代码重构(识别坏味道→选择手法→小步修改→运行测试),在保持外部行为不变前提下改进内部结构。当TDD进入REFACTOR阶段、发现代码坏味道、需要消除重复代码、优化代码结构时使用。支持提取方法、类、参数对象等重构手法。
Install this agent skill to your Project
npx add-skill https://github.com/tikazyq/agentic-spec-forge/tree/main/AGENTIC_SPEC_FORGE/spec_stage_skill/execspec_fulfill/refactoring
SKILL.md
Refactoring Skill
Scope: EXECSPEC_FULFILL — Fulfill ExecSpec(落实 ExecSpec)
版本: 0.1.0(占位)| 创建日期: 2025-11-27
概述
Refactoring 是在不改变外部行为的前提下改进代码内部结构:
┌─────────────────────────────────────────────────────┐
│ 🔧 Refactoring Cycle │
├─────────────────────────────────────────────────────┤
│ 识别坏味道 → 选择手法 → 小步修改 → 运行测试 │
│ (Smell) (Technique) (Small Step) (Verify) │
│ ↑ │ │
│ └───────────────────────────────────┘ │
└─────────────────────────────────────────────────────┘
核心原则:
- 小步前进,每步都可验证
- 测试必须始终通过
- 行为不变,结构改进
代码坏味道
常见坏味道
| 坏味道 | 信号 | 重构方向 |
|---|---|---|
| 重复代码 | 相似代码块 > 2 处 | Extract Method |
| 过长函数 | > 20 行 | Extract Method |
| 过大类 | > 300 行 | Extract Class |
| 过长参数 | > 4 个参数 | Introduce Parameter Object |
| 特性依恋 | 方法更多使用其他类数据 | Move Method |
| 数据泥团 | 相同数据组合多处出现 | Extract Class |
| 基本类型偏执 | 过度使用基本类型 | Replace with Object |
| Switch 语句 | 多处相同 switch | Replace with Polymorphism |
重构手法
提取类手法
Extract Method → 提取函数
Extract Class → 提取类
Extract Interface → 提取接口
Extract Variable → 提取变量
移动类手法
Move Method → 移动方法
Move Field → 移动字段
Move Class → 移动类
简化类手法
Inline Method → 内联方法
Inline Class → 内联类
Remove Parameter → 移除参数
Rename → 重命名
L1-STREAMLINED 检查清单
- 重构前测试全绿
- 每步修改后运行测试
- 无新功能添加
- 代码可读性提升
通过标准
- 4 项全部通过(100%)
重构流程
1. 准备阶段
□ 确保测试覆盖充分
□ 理解现有代码行为
□ 识别要重构的坏味道
2. 执行阶段
□ 选择合适的重构手法
□ 小步修改(每步 < 5 分钟)
□ 每步后运行测试
□ 提交小步变更
3. 验证阶段
□ 所有测试通过
□ 代码结构改善
□ 无行为变化
>> 命令
>>smell_detect # 检测代码坏味道
>>refactor_suggest # 建议重构手法
>>refactor_verify # 验证重构结果
相关 Skills
- 前置: tdd-cycle(GREEN 后进入 REFACTOR)
- 并行: code-quality(质量检查)
- 原则: principle-dry, principle-kiss, principle-solid
TODO: 待细化各重构手法的详细步骤和示例
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
code-review
执行代码审查流程(提交PR→自查→同行审查→反馈修改→合并),覆盖功能正确性、代码质量、测试完整性、安全合规四大维度。当提交Pull Request、进行结对编程、执行代码走查、需要知识共享时使用。支持L1/L2/L3三级审查深度。
code-quality
执行代码质量门禁检查(测试通过→覆盖率→Lint→GOAL追溯→可提交),验证单元测试覆盖率≥80%、集成测试通过率≥95%、代码规范零错误。当完成代码实现、准备提交代码、需要质量验证、进行提交前自检时使用。确保代码可合并。
tdd-cycle
执行 TDD 红绿重构循环(RED→GREEN→REFACTOR→REPEAT),通过先写失败测试、最小代码实现、保持绿色重构的节奏驱动开发。当启动功能开发、需要测试驱动节奏、进行迭代编码、追求高测试覆盖率时使用。提供检查清单和节奏控制。
arch-options-compare
比较多个架构方案(单体/微服务等),从SOLID原则、成本、复杂度等维度评分,生成对比表和推荐方案。当需要向客户解释架构选择或ADR决策时使用。
dev-tech-view-supplement
根据设计补充Dev视角的技术细节(数据库/API/通信协议),帮助Dev快速进入实施。当L1/L2设计缺乏技术细节、或准备向Dev交付前使用。
design-consistency-check
检查VS↔SD/DM一致性(value_path是否与序列图/数据模型匹配),生成不一致项清单和修复建议。当Self-Reflection报告一致性问题或准备CONSTRAINT验收前使用。
Didn't find tool you were looking for?