AgentSkillsCN

analysis-code

系统化代码分析技能,可用于代码质量评估、技术债务识别、性能优化分析以及架构重构评估。采用“总—分—总”的结构化分析方法,支持多轮迭代分析,生成量化指标与改进建议。特别适合需要开展代码审查、系统分析、重构规划等工作的场景。

SKILL.md
--- frontmatter
name: analysis-code
description: 系统化代码分析技能,用于代码质量评估、技术债务识别、性能优化分析和架构重构评估。采用"总-分-总"结构化分析方法,支持多轮迭代分析,生成量化指标和改进建议。适用于需要进行代码审查、系统分析、重构规划等场景。

代码分析技能 (Code Analysis Skill)

版本: 1.0.0 | 基于: Copilot工作流系统 analysis_system

🎯 技能概述

本技能提供系统化的代码分析能力,帮助 Copilot 执行专业的代码质量评估、技术债务识别和性能优化分析。采用"总-分-总"的结构化分析方法,确保分析的系统性和可追溯性。

核心能力

  • 代码质量分析: 评估代码复杂度、可读性、可维护性
  • 技术债务识别: 识别代码异味、过时模式、重复代码
  • 性能评估: 分析算法复杂度、资源使用、性能热点
  • 架构分析: 评估模块依赖、耦合度、内聚性
  • 重构规划: 生成结构化的重构建议和实施计划

适用场景

  • 当用户请求进行"代码分析"、"代码质量评估"、"代码审查"时
  • 当用户需要识别"技术债务"、"代码异味"、"性能问题"时
  • 当用户准备进行"重构"并需要分析支持时
  • 当用户需要对项目进行系统性理解和评估时

📋 分析流程

总-分-总结构

本技能采用三阶段分析流程:

code
阶段一:总体规划(总)
    ↓
阶段二:循环分析(分)→ 可多轮迭代
    ↓
阶段三:汇总报告(总)

阶段一:总体规划

目标: 建立分析框架和总体计划

步骤:

  1. 需求解析: 理解用户的分析需求和目标
  2. 信息确认: 与用户确认项目类型、技术栈、分析重点
  3. 计划制定: 制定分析维度和预期轮次
  4. 环境准备: 创建分析任务目录结构

输出:

暂停点: 需要用户确认分析计划后再继续

阶段二:循环分析(9步循环)

每轮分析包含以下步骤:

步骤1: 创建轮次目录

创建轮次分析的目录结构,第一轮命名为 1_初始质量评估

步骤2: 制定轮次计划

使用 round-plan.md 明确本轮分析目标

步骤3: 收集项目数据

  • 运行代码指标收集工具
  • 分析项目结构和依赖
  • 收集用户提供的补充信息

步骤4: 确定分析内容

基于收集的数据确定本轮重点分析内容

步骤5: 执行分析

  • 分析代码结构和模块组织
  • 识别代码异味和反模式
  • 评估代码复杂度和可维护性
  • 检查设计原则遵循情况

步骤6: 量化评估

  • 计算代码健康度评分
  • 量化技术债务和修复成本
  • 可选:编写测试验证假设

步骤7: 记录结果

使用 round-analysis-report.md 生成轮次报告

步骤8: 生成建议

提出针对性改进建议,评估可行性

步骤9: 轮次评估

  • 评估总体进展
  • 决定是否继续下轮或进入汇总

暂停点: 每轮结束后需要用户决策下一步

阶段三:汇总报告

目标: 整合所有轮次结果,生成完整分析报告

输出:

📊 分析维度

代码结构分析

  • 模块依赖: 分析模块间的依赖复杂度
  • 耦合度: 评估组件间的耦合程度
  • 内聚性: 分析模块内部的功能内聚性

代码质量评估

  • 圈复杂度: McCabe圈复杂度分析
  • 认知复杂度: 代码理解难度评估
  • 可读性: 命名规范、注释质量、代码风格
  • 可维护性: 代码重复度、函数长度、类大小

性能分析

  • 时间复杂度: 算法效率分析
  • 空间复杂度: 内存使用评估
  • 性能热点: 识别性能瓶颈

技术债务

  • 代码异味: 长方法、大类、重复代码
  • 过时模式: 不推荐的编程实践
  • 债务量化: 修复成本估算

🛠️ 工具使用

代码指标收集

使用 code-metrics-collector.py 收集代码指标:

powershell
python tools/code-metrics-collector.py --project-path "项目路径" --output-format json

分析报告生成

使用 generate-analysis-report.ps1 生成报告:

powershell
./tools/generate-analysis-report.ps1 -ProjectPath "项目路径" -ReportType "comprehensive"

📁 目录结构

分析任务的标准目录结构:

code
tasks/
├── 项目名_分析主题/
│   ├── master_plan/           # 总体规划和汇总
│   │   ├── master_analysis_plan.md
│   │   ├── final_analysis_report.md
│   │   └── executive_summary.md
│   ├── 1_初始质量评估/        # 第1轮分析
│   │   ├── summary/           # 核心输出
│   │   ├── reports/           # 详细报告
│   │   ├── metrics/           # 量化数据
│   │   └── analysis/          # 分析过程
│   └── N_具体任务名/          # 后续轮次

💡 分析原则

核心原则

  1. 数据驱动: 基于客观数据进行分析,避免主观臆断
  2. 循序渐进: 从概要分析开始,逐步深入细节
  3. 持续验证: 定期验证分析结果的准确性
  4. 用户参与: 关键决策点需要用户确认

质量标准

  • 完整性: 覆盖计划中的所有分析维度
  • 准确性: 分析结论有数据支撑
  • 可操作性: 改进建议具体可执行
  • 可追溯性: 结论可追溯到原始数据

📝 使用示例

示例1: 启动代码质量分析

用户请求:

我想对这个Python项目进行代码质量分析,重点关注可维护性和技术债务

Copilot响应流程:

  1. 解析需求,提取关键信息
  2. 创建分析计划,确认分析维度
  3. 暂停等待用户确认
  4. 执行分析循环
  5. 生成分析报告

示例2: 重构前分析

用户请求:

我准备重构这个模块,需要先进行分析评估

Copilot响应流程:

  1. 进行代码结构分析
  2. 识别重构风险点
  3. 评估重构范围和影响
  4. 生成重构前分析报告
  5. 可选:生成重构计划草案

🔗 相关资源

⚠️ 注意事项

  1. 暂停点: 流程中有多个暂停点需要用户确认,确保分析方向符合用户预期
  2. 渐进式执行: 不要一次性完成所有分析,按阶段执行并获取反馈
  3. 灵活调整: 根据实际发现调整分析计划是正常的
  4. 文档归档: 分析完成后确保所有文档正确归档