mcpField
R
refactor

refactor

github.com/pproenca开发220644 次安装11 周前更新
代码仓库

关于 refactor

面向 AI Agent 和大模型的代码重构指南,依据 Fowler 的重构目录与 Clean Code 原则整理为 43 条分级规则,涵盖结构、依赖、命名和逻辑改进。

主要功能

  1. 01涵盖 8 类的 43 条规则
  2. 02按优先级排列重构建议
  3. 03结构与分解实践
  4. 04依赖与耦合指导
  5. 05提供规则详解与示例

适用场景

  1. 01拆分过长的方法或大型类
  2. 02降低组件间耦合
  3. 03简化嵌套条件逻辑
  4. 04检查代码异味与反模式

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/pproenca/dot-skills --skill refactor

安装后在 Claude Code 中输入/refactor确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

AGENTS.md
metadata.json
README.md
assets/templates/
_template.md
references/
_sections.md
cond-consolidate.md
cond-decompose.md
cond-guard-clauses.md
cond-lookup-table.md
cond-polymorphism.md
cond-special-case.md
couple-dependency-injection.md
couple-feature-envy.md
couple-hide-delegate.md
couple-interface-segregation.md
couple-preserve-whole-object.md
couple-remove-middle-man.md
data-encapsulate-collection.md
data-encapsulate-record.md
data-replace-primitive.md
data-replace-temp-with-query.md
data-split-variable.md
error-custom-exceptions.md
error-exceptions-over-codes.md
error-fail-fast.md
error-separate-concerns.md
micro-inline-variable.md
micro-remove-dead-code.md
micro-rename-for-clarity.md
micro-simplify-expressions.md

详细介绍

Fowler/Martin 代码重构最佳实践

基于 Martin Fowler 的重构目录和 Clean Code 原则编写的全面代码重构指南,面向 AI Agent 和大模型。包含 8 个类别中的 43 条规则,并按影响程度排序,为自动化重构和代码生成提供指导。

适用场景

在以下情况下,请参考这些指南:

  • 重构现有代码以提升可维护性
  • 拆分过长的方法或过大的类
  • 降低组件间的耦合
  • 简化复杂的条件逻辑
  • 检查代码异味和反模式

按优先级划分的规则类别

优先级类别影响前缀
1结构与分解严重struct-
2耦合与依赖严重couple-
3命名与清晰度高name-
4条件逻辑高cond-
5抽象与模式中高pattern-
6数据组织中data-
7错误处理中error-
8微重构低micro-

快速参考

1. 结构与分解(严重)
  • 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. 耦合与依赖(严重)
  • couple-dependency-injection - 使用依赖注入
  • couple-hide-delegate - 隐藏委托以降低耦合
  • couple-remove-middle-man - 过度使用中间人时将其移除
  • couple-feature-envy - 移动方法以修复依恋情结
  • couple-interface-segregation - 应用接口隔离原则
  • couple-preserve-whole-object - 保留整个对象,而非仅保留字段
3. 命名与清晰度(高)
  • name-intention-revealing - 使用清晰表达意图的名称
  • name-avoid-abbreviations - 避免使用缩写和首字母缩略词
  • name-consistent-vocabulary - 使用一致的词汇
  • name-searchable-names - 使用便于搜索的名称
  • name-avoid-encodings - 避免在名称中编码类型信息
4. 条件逻辑(高)
  • cond-guard-clauses - 用保护子句替换嵌套条件
  • cond-polymorphism - 用多态替换条件判断
  • cond-decompose - 分解复杂条件
  • cond-consolidate - 合并重复的条件片段
  • cond-special-case - 引入特例对象
  • cond-lookup-table - 用查找表替换条件判断
5. 抽象与模式(中高)
  • pattern-strategy - 为不同算法提取策略
  • pattern-template-method - 使用模板方法共享流程骨架
  • pattern-factory - 使用工厂处理复杂的对象创建
  • pattern-open-closed - 应用开闭原则
  • pattern-composition-over-inheritance - 优先使用组合,而非继承
  • pattern-extract-superclass - 为共有行为提取超类
6. 数据组织(中)
  • data-encapsulate-collection - 封装集合
  • data-replace-primitive - 用对象替换基本类型
  • data-encapsulate-record - 将记录封装到类中
  • data-split-variable - 拆分被多次赋值的变量
  • data-replace-temp-with-query - 用查询替换临时变量
7. 错误处理(中)
  • error-exceptions-over-codes - 使用异常,而非错误代码
  • error-custom-exceptions - 创建特定于领域的异常类型
  • error-fail-fast - 通过前置条件尽早失败
  • error-separate-concerns - 将错误处理与业务逻辑分离
8. 微重构(低)
  • micro-remove-dead-code - 移除无用代码
  • micro-inline-variable - 内联简单变量
  • micro-simplify-expressions - 简化布尔表达式
  • micro-rename-for-clarity - 重命名以提高可读性

使用方法

阅读各个参考文件,了解详细说明和代码示例:

  • 章节定义 - 分类结构和影响级别
  • 规则模板 - 添加新规则的模板
  • 各个规则:references/{prefix}-{slug}.md

完整汇编文档

如需查看包含所有规则详细内容的完整指南,请参阅:AGENTS.md

评论

支持 Markdown