用途
本技能是一份面向 AI 智能体与大语言模型的代码重构最佳实践指南,内容基于 Martin Fowler 的重构目录与 Clean Code 原则,用于指导自动化重构和代码生成。
何时应用
在以下情况参考这些准则:
- 重构既有代码以提升可维护性
- 拆分过长方法或过大类
- 降低组件之间的耦合
- 简化复杂的条件逻辑
- 审查代码中的代码异味与反模式
主要能力:按优先级划分的规则类别
技能包含 8 个类别、共 43 条规则,按影响程度排序:
| 优先级 | 类别 | 影响 | 前缀 |
|---|---|---|---|
| 1 | 结构与分解 | CRITICAL | struct- |
| 2 | 耦合与依赖 | CRITICAL | couple- |
| 3 | 命名与清晰度 | HIGH | name- |
| 4 | 条件逻辑 | HIGH | cond- |
| 5 | 抽象与模式 | MEDIUM-HIGH | pattern- |
| 6 | 数据组织 | MEDIUM | data- |
| 7 | 错误处理 | MEDIUM | error- |
| 8 | 微重构 | LOW | micro- |
1. 结构与分解(CRITICAL)
- struct-extract-method - 为长函数提取方法
- struct-single-responsibility - 应用单一职责原则
- struct-extract-class - 从大类中提取类
- struct-compose-method - 使用组合方法获得可读流程
- struct-function-length - 保持函数在 20 行以内
- struct-replace-method-with-object - 用方法对象替换方法
- struct-parameter-object - 引入参数对象
2. 耦合与依赖(CRITICAL)
- couple-dependency-injection - 使用依赖注入
- couple-hide-delegate - 隐藏委托以降低耦合
- couple-remove-middle-man - 中间人过多时移除中间人
- couple-feature-envy - 通过移动方法修复依恋情结
- couple-interface-segregation - 应用接口隔离原则
- couple-preserve-whole-object - 保留整个对象而非字段
3. 命名与清晰度(HIGH)
- name-intention-revealing - 使用揭示意图的名称
- name-avoid-abbreviations - 避免缩写与首字母缩略词
- name-consistent-vocabulary - 使用一致的词汇
- name-searchable-names - 使用可搜索的名称
- name-avoid-encodings - 避免名称中的类型编码
4. 条件逻辑(HIGH)
- cond-guard-clauses - 用卫语句替换嵌套条件
- cond-polymorphism - 用多态替换条件
- cond-decompose - 分解复杂条件
- cond-consolidate - 合并重复的条件片段
- cond-special-case - 引入特例对象
- cond-lookup-table - 用查找表替换条件
5. 抽象与模式(MEDIUM-HIGH)
- pattern-strategy - 为算法变体提取策略
- pattern-template-method - 为共享骨架使用模板方法
- pattern-factory - 为复杂对象创建使用工厂
- pattern-open-closed - 应用开闭原则
- pattern-composition-over-inheritance - 优先使用组合而非继承
- pattern-extract-superclass - 为共同行为提取超类
6. 数据组织(MEDIUM)
- data-encapsulate-collection - 封装集合
- data-replace-primitive - 用对象替换基本类型
- data-encapsulate-record - 将记录封装为类
- data-split-variable - 拆分多次赋值的变量
- data-replace-temp-with-query - 用查询替换临时变量
7. 错误处理(MEDIUM)
- error-exceptions-over-codes - 使用异常而非错误码
- error-custom-exceptions - 创建领域特定的异常类型
- error-fail-fast - 用前置条件快速失败
- error-separate-concerns - 将错误处理与业务逻辑分离
8. 微重构(LOW)
- micro-remove-dead-code - 移除死代码
- micro-inline-variable - 内联琐碎变量
- micro-simplify-expressions - 简化布尔表达式
- micro-rename-for-clarity - 为清晰而重命名
使用方式
阅读各个参考文件以获取详细说明与代码示例:
- 章节定义 - 类别结构与影响级别
- 规则模板 - 用于添加新规则的模板
- 单条规则:references/{prefix}-{slug}.md
完整编译文档:包含所有规则展开的完整指南见 AGENTS.md。
适用场景
适用于需要以 Fowler 重构目录与 Clean Code 原则为依据,对代码进行结构化重构、降低耦合、改善命名、简化条件逻辑、调整抽象与模式、组织数据、改进错误处理以及执行微重构的自动化或辅助场景。
限制
关于本技能的具体安装命令、收费与价格、支持的平台、实际使用效果等信息,资料中暂未提供。