SuperAPI AI 工具集

refactor

编程与开发

查看项目

更新于 10-15 12:26

技能介绍

用途

本技能是一份面向 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 原则为依据,对代码进行结构化重构、降低耦合、改善命名、简化条件逻辑、调整抽象与模式、组织数据、改进错误处理以及执行微重构的自动化或辅助场景。

限制

关于本技能的具体安装命令、收费与价格、支持的平台、实际使用效果等信息,资料中暂未提供。