检测过度工程Skill detect-over-engineering

这是一个用于检测代码中过度工程和复杂性的技能。它通过分析代码模式,识别不必要的抽象层、过早优化和推测性通用性,帮助开发者优化软件架构,提高代码可维护性和性能。关键词包括:代码分析、过度工程检测、架构优化、软件质量评估。

架构设计 0 次安装 0 次浏览 更新于 3/11/2026

name: detect-over-engineering description: 检测代码中的不必要复杂性、推测性通用性和过度工程解决方案 allowed-tools: 读取, 全局, 搜索, 任务 argument-hint: “[路径或模式]”

检测过度工程命令

分析代码以识别不必要复杂性、推测性通用性和过度工程解决方案。

使用

/enterprise-architecture:detect-over-engineering [路径或模式]

参数

  • path-or-pattern (可选): 要分析的路径
    • 如果提供:分析指定的路径或模式
    • 如果省略:分析整个代码库

示例

/enterprise-architecture:detect-over-engineering
/enterprise-architecture:detect-over-engineering src/services/
/enterprise-architecture:detect-over-engineering **/*.cs

工作流程

  1. 扫描复杂性指标

    • 搜索指示过度工程的模式
    • 识别抽象层
    • 查找未使用的灵活性点
  2. 生成过度工程检测代理 使用 over-engineering-detector 代理进行分析。该代理检测:

    • 推测性通用性 - 没有多个实现的抽象
    • 过早抽象 - 在证明需求之前的复杂性
    • 镀金 - 超出需求的功能
    • 宇航员架构 - 过多的层和间接性
  3. 展示发现 按以下方式组织发现:

    • 关键 - 无益的显著复杂性
    • 警告 - 潜在的过度工程
    • 信息 - 简化的次要机会

检测类别

推测性通用性

  • 单实现抽象类
  • 单实现接口
  • 从未变化泛型类型参数
  • 未使用配置选项
  • 无插件插件架构

过早抽象

  • 单对象创建的工厂模式
  • 单策略的策略模式
  • 过度依赖注入
  • 过度规范化数据结构

镀金

  • 超出文档化需求的功能
  • 从未配置的可配置性
  • 从未扩展的可扩展点

输出格式

## 过度工程检测报告

### 摘要
- 分析文件: [N]
- 发现问题: [N] (关键: X, 警告: Y, 信息: Z)

### 关键问题

#### [问题类型]: [位置]
**模式:** [发现的内容]
**问题:** [为何是过度工程]
**简化:** [如何简化]
**努力:** [低/中/高]

### 警告

[相同结构]

### 信息

[相同结构]

### 简化路线图
1. [快速胜利] - [影响]
2. [中等努力] - [影响]
3. [较大重构] - [影响]

### 指标
- 估计可移除行: [N]
- 可减少抽象层: [N]
- 复杂度分数改进: [X]%