代码分析技能 (Code Analysis Skill)
版本: 1.0.0 | 基于: Copilot工作流系统 analysis_system
🎯 技能概述
本技能提供系统化的代码分析能力,帮助 Copilot 执行专业的代码质量评估、技术债务识别和性能优化分析。采用"总-分-总"的结构化分析方法,确保分析的系统性和可追溯性。
核心能力
- •代码质量分析: 评估代码复杂度、可读性、可维护性
- •技术债务识别: 识别代码异味、过时模式、重复代码
- •性能评估: 分析算法复杂度、资源使用、性能热点
- •架构分析: 评估模块依赖、耦合度、内聚性
- •重构规划: 生成结构化的重构建议和实施计划
适用场景
- •当用户请求进行"代码分析"、"代码质量评估"、"代码审查"时
- •当用户需要识别"技术债务"、"代码异味"、"性能问题"时
- •当用户准备进行"重构"并需要分析支持时
- •当用户需要对项目进行系统性理解和评估时
📋 分析流程
总-分-总结构
本技能采用三阶段分析流程:
code
阶段一:总体规划(总)
↓
阶段二:循环分析(分)→ 可多轮迭代
↓
阶段三:汇总报告(总)
阶段一:总体规划
目标: 建立分析框架和总体计划
步骤:
- •需求解析: 理解用户的分析需求和目标
- •信息确认: 与用户确认项目类型、技术栈、分析重点
- •计划制定: 制定分析维度和预期轮次
- •环境准备: 创建分析任务目录结构
输出:
- •总体分析计划(使用 master-analysis-plan.md)
- •分析任务目录结构
暂停点: 需要用户确认分析计划后再继续
阶段二:循环分析(9步循环)
每轮分析包含以下步骤:
步骤1: 创建轮次目录
创建轮次分析的目录结构,第一轮命名为 1_初始质量评估
步骤2: 制定轮次计划
使用 round-plan.md 明确本轮分析目标
步骤3: 收集项目数据
- •运行代码指标收集工具
- •分析项目结构和依赖
- •收集用户提供的补充信息
步骤4: 确定分析内容
基于收集的数据确定本轮重点分析内容
步骤5: 执行分析
- •分析代码结构和模块组织
- •识别代码异味和反模式
- •评估代码复杂度和可维护性
- •检查设计原则遵循情况
步骤6: 量化评估
- •计算代码健康度评分
- •量化技术债务和修复成本
- •可选:编写测试验证假设
步骤7: 记录结果
使用 round-analysis-report.md 生成轮次报告
步骤8: 生成建议
提出针对性改进建议,评估可行性
步骤9: 轮次评估
- •评估总体进展
- •决定是否继续下轮或进入汇总
暂停点: 每轮结束后需要用户决策下一步
阶段三:汇总报告
目标: 整合所有轮次结果,生成完整分析报告
输出:
- •最终分析报告(使用 final-analysis-report.md)
- •执行摘要(使用 executive-summary.md)
- •改进路线图
- •(可选)重构计划
📊 分析维度
代码结构分析
- •模块依赖: 分析模块间的依赖复杂度
- •耦合度: 评估组件间的耦合程度
- •内聚性: 分析模块内部的功能内聚性
代码质量评估
- •圈复杂度: 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: 启动代码质量分析
用户请求:
我想对这个Python项目进行代码质量分析,重点关注可维护性和技术债务
Copilot响应流程:
- •解析需求,提取关键信息
- •创建分析计划,确认分析维度
- •暂停等待用户确认
- •执行分析循环
- •生成分析报告
示例2: 重构前分析
用户请求:
我准备重构这个模块,需要先进行分析评估
Copilot响应流程:
- •进行代码结构分析
- •识别重构风险点
- •评估重构范围和影响
- •生成重构前分析报告
- •可选:生成重构计划草案
🔗 相关资源
⚠️ 注意事项
- •暂停点: 流程中有多个暂停点需要用户确认,确保分析方向符合用户预期
- •渐进式执行: 不要一次性完成所有分析,按阶段执行并获取反馈
- •灵活调整: 根据实际发现调整分析计划是正常的
- •文档归档: 分析完成后确保所有文档正确归档