智能代码重构建议器

SKILL开发
开发 未标注权限 许可证不明确
安装这个技能

智能代码重构建议器 - 使用 AST 分析、设计模式识别和 SOLID 原则检测代码质量问题,生成可执行的重构建议和代码示例

一句话选型结论

按资料字段整理

智能代码重构建议器是开发类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类开发 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_92725383/smart-refactoring-advisor
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

开发
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_92725383仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791682679
正文体量12.2 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
写代码与改 bug

按需求补代码、定位并修掉报错。

读仓库与生成改动

让模型读懂项目结构,再给出可落地的改动。

跑测试与排查故障

按现象排查问题,补测试用例并复跑。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在开发场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
智能代码重构建议器当前 未标注权限 未标注 未标注 未标注 有
技能审查员 浏览器控制 ClawHub 市场 877.9 万 OpenClaw 有
Vercel React 最佳实践 浏览器控制 GitHub 仓库 849.1 万 Codex、Claude、Cursor 有
GitHub 代码协作 联网访问 ClawHub 市场 763.3 万 OpenClaw 有
网页设计指南 联网访问 GitHub 仓库 668.6 万 Codex、Claude、Cursor 有
本体论 只读 ClawHub 市场 663.7 万 OpenClaw 有

SKILL.md 全文

12.2 KB
模型实际读到的说明书原文,来自技能仓库

Smart Refactoring Advisor

技能描述

智能代码重构建议器 - 使用 AST 分析、设计模式识别和 SOLID 原则检测代码质量问题,生成可执行的重构建议和代码示例。

触发场景

当用户提到以下关键词时触发:
- "代码重构"、"重构建议"、"优化代码结构"
- "设计模式"、"SOLID原则"、"代码质量"
- "消除重复代码"、"简化复杂逻辑"
- "重构分析"、"代码改进建议"

适用范围

  • 识别代码反模式(God Class、Spaghetti Code、Long Method 等)
  • 检测 SOLID 原则违反
  • 分析设计模式应用机会
  • 生成重构前后对比示例
  • 支持多种重构策略(提取方法、移动方法、重命名、多态替换条件等)

工作流程

阶段 1: 代码分析 (Analysis)

目标: 收集代码结构信息,识别问题点

执行步骤:
1. 使用 AST 解析目标代码文件或目录
2. 计算代码复杂度指标:
- 圈复杂度 (Cyclomatic Complexity)
- 方法长度 (Method Length)
- 类规模 (Class Size)
- 参数数量 (Parameter Count)
- 嵌套深度 (Nesting Depth)
3. 检测设计模式反模式:
- God Object/Class
- Long Method
- Large Class
- Long Parameter List
- Duplicated Code
- Dead Code
- Speculative Generality
4. 评估 SOLID 原则符合度:
- 单一职责原则 (SRP)
- 开闭原则 (OCP)
- 里氏替换原则 (LSP)
- 接口隔离原则 (ISP)
- 依赖倒置原则 (DIP)

输出: analysis_report.json

阶段 2: 问题优先级排序 (Prioritization)

目标: 根据影响范围和修复成本确定重构顺序

执行步骤:
1. 按以下维度评估每个问题:
- 影响范围(1-10分)
- 修复复杂度(1-10分)
- 风险等级(High/Medium/Low)
- 业务价值(1-10分)
2. 计算优先级分数:Priority = (影响范围 × 业务价值) / 修复复杂度
3. 将问题分为三个梯队:
- Quick Wins: 高影响、低复杂度(立即执行)
- Planned Efforts: 高影响、高复杂度(需要规划)
- Technical Debts: 低影响、低优先级(记录追踪)

输出: prioritized_issues.json

阶段 3: 重构方案生成 (Refactoring Plan)

目标: 为每个高优先级问题生成具体重构方案

执行步骤:
1. 针对每类问题选择重构策略:
- Long Method: 提取方法、内联临时变量、以查询替换临时变量
- Large Class: 提取类、提取子类、提取接口
- Long Parameter List: 引入参数对象、移除设值函数、保持对象完整
- Duplicated Code: 提取方法、上移方法、模板方法模式
- Conditional Logic: 以多态替换条件、以策略模式替换条件
- God Class: 提取类、观察者模式、委托模式
2. 生成重构步骤(每个步骤包含):
- 步骤名称
- 操作类型(Extract Method/Move Method/Rename 等)
- 涉及的代码位置(文件名:行号)
- 重构前代码片段
- 重构后代码片段
- 测试验证要求
3. 应用自动化重构脚本(如支持)或提供手动执行指导

输出: refactoring_plan.md

阶段 4: 执行监控 (Execution Monitoring)

目标: 跟踪重构进度,验证重构结果

执行步骤:
1. 读取重构计划,标记当前执行步骤
2. 在每个步骤执行后:
- 运行单元测试验证功能正确性
- 检查代码风格和静态分析规则
- 确认无新增警告或错误
3. 更新执行状态:
- ✅ Completed: 测试通过,无问题
- ⚠️ Warning: 测试通过,但有新警告
- ❌ Failed: 测试失败或代码错误
4. 生成进度报告:execution_report.md

阶段 5: 结果验证 (Validation)

目标: 确认重构达到预期效果

执行步骤:
1. 对比重构前后指标:
- 复杂度降低百分比
- 代码行数变化
- 测试覆盖率变化
- SOLID 原则符合度提升
2. 验证业务功能:
- 所有测试用例通过
- 无回归缺陷
- 性能无劣化
3. 生成重构报告:
- 重构前后对比截图
- 指标改进数据
- 后续建议(如需要进一步重构)

输出: final_report.md

输入参数

参数名 类型 必填 默认值 说明
target_path string 是 - 要分析的代码文件或目录路径
language string 否 auto 代码语言(python/java/javascript/go/cpp)
output_dir string 否 ./refactoring_reports 报告输出目录
max_complexity integer 否 10 方法圈复杂度阈值
max_method_lines integer 否 30 方法最大行数阈值
max_class_lines integer 否 500 类最大行数阈值
max_parameters integer 否 4 方法最大参数数阈值
focus_issues array 否 [] 指定关注的问题类型列表
auto_fix boolean 否 false 是否自动执行低风险重构
dry_run boolean 否 true 是否仅生成建议不执行

输出产物

1. 分析报告 (analysis_report.json)

{
  "scan_info": {
    "timestamp": "2026-08-17T10:00:00Z",
    "language": "python",
    "files_scanned": 42,
    "total_lines": 8500
  },
  "metrics": {
    "average_complexity": 5.2,
    "max_complexity": 28,
    "average_method_length": 18,
    "max_method_length": 120
  },
  "issues": [
    {
      "type": "long_method",
      "file": "src/services/order_processor.py",
      "location": "OrderProcessor.process_order:45-180",
      "severity": "high",
      "complexity": 28,
      "lines": 135,
      "description": "方法 process_order 过长(135行),圈复杂度28,违反单一职责原则",
      "suggested_refactorings": [
        "extract_method: validate_order",
        "extract_method: calculate_discounts",
        "extract_method: apply_business_rules"
      ]
    }
  ],
  "solid_violations": {
    "srp": [
      {
        "file": "src/services/user_service.py",
        "class": "UserService",
        "reason": "类包含用户认证、授权、通知三个职责",
        "recommendation": "拆分为 AuthenticationService, AuthorizationService, NotificationService"
      }
    ]
  }
}

2. 重构计划 (refactoring_plan.md)

# 重构计划:订单处理服务

## 优先级排序

| 优先级 | 问题类型 | 文件 | 影响 | 复杂度 | 得分 |
|--------|---------|------|------|--------|------|
| P0 | Long Method | order_processor.py | 10 | 5 | 20.0 |
| P1 | God Class | user_service.py | 9 | 7 | 12.9 |
| P2 | Duplicated Code | payment_*.py | 7 | 3 | 21.0 |

## 详细重构方案

### 问题 #1: Long Method - process_order

**位置**: `src/services/order_processor.py:45-180`

**当前代码**:
```python
def process_order(self, order):
    # 135行复杂逻辑...

重构策略: 提取方法 (Extract Method)

步骤:
1. 提取 validate_order(order) -> bool
- 重构后: 将订单验证逻辑(行 48-75)提取为独立方法
- 测试: 验证有效订单通过,无效订单抛出异常

  1. 提取 calculate_discounts(order) -> Decimal
    - 重构后: 将折扣计算逻辑(行 78-105)提取为独立方法
    - 测试: 验证不同折扣规则正确计算

  2. 提取 apply_business_rules(order) -> Order
    - 重构后: 将业务规则应用逻辑(行 108-140)提取为独立方法
    - 测试: 验证业务规则正确应用

重构后代码:

def process_order(self, order):
    self.validate_order(order)
    order.discounts = self.calculate_discounts(order)
    self.apply_business_rules(order)
    return self.save_order(order)

def validate_order(self, order):
    # 28行清晰的验证逻辑

def calculate_discounts(self, order):
    # 27行折扣计算逻辑

def apply_business_rules(self, order):
    # 32行业务规则逻辑

预期效果:
- 圈复杂度: 28 → 5(降低82%)
- 方法长度: 135行 → 平均28行(降低79%)
- 可读性: 显著提升
- 可测试性: 单元测试覆盖率从45%提升至90%


### 3. 执行报告 (`execution_report.md`)

```markdown
# 重构执行报告

## 执行概况

- **开始时间**: 2026-08-17 10:00:00
- **结束时间**: 2026-08-17 10:45:23
- **总耗时**: 45分钟
- **成功率**: 95%(19/20步骤成功)

## 执行明细

### ✅ 提取方法: validate_order
- **状态**: 成功
- **耗时**: 5分钟
- **测试结果**: 全部通过(12个测试用例)
- **代码检查**: 无警告

### ✅ 提取方法: calculate_discounts
- **状态**: 成功
- **耗时**: 8分钟
- **测试结果**: 全部通过(15个测试用例)
- **代码检查**: 无警告

### ⚠️ 提取方法: apply_business_rules
- **状态**: 警告
- **耗时**: 12分钟
- **测试结果**: 全部通过,但新增2个代码风格警告
- **代码检查**: 建议: 缺少类型注解
- **处理**: 已自动添加类型注解

## 指标对比

| 指标 | 重构前 | 重构后 | 改进 |
|------|--------|--------|------|
| 平均圈复杂度 | 12.5 | 4.8 | ↓ 62% |
| 方法平均行数 | 45 | 18 | ↓ 60% |
| 类平均行数 | 850 | 420 | ↓ 51% |
| SOLID符合度 | 42% | 85% | ↑ 43% |
| 测试覆盖率 | 45% | 92% | ↑ 47% |

## 后续建议

1. **高优先级**: 继续重构 UserService(God Class问题)
2. **中优先级**: 处理 payment 模块的重复代码
3. **低优先级**: 优化日志记录逻辑

使用示例

示例 1: 分析单个文件

# 用户请求
"分析 src/services/order_processor.py 的重构建议"

# 智能体执行
1. 分析代码结构,检测到3个问题
2. 生成重构计划
3. 提供可执行的重构方案

示例 2: 分析整个模块

# 用户请求
"重构 src/services/ 模块,生成优化建议"

# 智能体执行
1. 扫描目录下所有Python文件
2. 生成问题优先级列表
3. 输出详细重构计划
4. 可选自动执行低风险重构

示例 3: 指定问题类型

# 用户请求
"检查代码中的重复代码和过长方法"

# 智能体执行
focus_issues: ["duplicated_code", "long_method"]

技术实现

AST 分析工具

支持多种语言的 AST 解析:

  • Python: ast + astroid + radon(复杂度计算)
  • Java: javalang + PMD + Checkstyle
  • JavaScript/TypeScript: @babel/parser + eslint
  • Go: go/ast + golint
  • C/C++: pycparser + clang

设计模式识别

内置常见设计模式检测器:

  • 创建型: 工厂方法、抽象工厂、建造者、单例
  • 结构型: 适配器、桥接、组合、装饰器、外观
  • 行为型: 策略、观察者、命令、模板方法、状态

反模式检测规则

反模式 检测标准 推荐重构
God Class 方法数>20 或 行数>500 提取类、委托模式
Long Method 行数>30 或 复杂度>10 提取方法
Large Class 行数>500 或 职责>3 提取类、接口隔离
Long Parameter List 参数数>4 引入参数对象
Duplicated Code 相似度>70% 提取方法、上移方法
Dead Code 无引用 删除

配置文件

可在项目根目录创建 .refactoring-rules.yaml 自定义规则:

version: 1.0
language: python

thresholds:
  max_complexity: 15
  max_method_lines: 40
  max_class_lines: 800
  max_parameters: 5

exclusions:
  - "tests/**"
  - "**/__init__.py"
  - "**/migrations/**"

custom_rules:
  - name: "avoid_nested_loops"
    severity: "medium"
    description: "避免嵌套循环超过2层"

  - name: "enforce_type_hints"
    severity: "high"
    description: "强制使用类型注解"

priorities:
  god_class: 100
  long_method: 80
  duplicated_code: 70
  dead_code: 60

注意事项

  1. 测试先行: 重构前确保有足够的测试覆盖
  2. 小步前进: 每次只执行一个重构步骤
  3. 验证功能: 每步后运行测试确保行为不变
  4. 版本控制: 重构前提交代码,便于回滚
  5. 团队沟通: 大规模重构需团队评审和协调

相关技能

  • python-code-review: Python代码静态审查
  • incremental-code-review: 增量代码审查
  • code-quality-auditor: 代码质量审计

参考资料

  • 《重构:改善既有代码的设计》- Martin Fowler
  • 《代码整洁之道》- Robert C. Martin
  • 《设计模式:可复用面向对象软件的基础》- GoF
  • SOLID原则详解: https://en.wikipedia.org/wiki/SOLID

常见问题

5 问
答案由本站依据条目字段整理
智能代码重构建议器怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_92725383/smart-refactoring-advisor。安装方式为未标注。装完刷新技能列表或重开客户端。

智能代码重构建议器支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

智能代码重构建议器权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

智能代码重构建议器收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

智能代码重构建议器用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。