Skip to content

Latest commit

 

History

History
291 lines (224 loc) · 10.3 KB

File metadata and controls

291 lines (224 loc) · 10.3 KB

分析工作流详细指南 | Analysis Workflow Detailed Guide

🌍 Language Version | 语言版本: English Version | 返回主页

📋 目录

概述

分析工作流是一个基于GitHub Copilot的系统化代码分析解决方案,专为代码质量评估、技术债务识别和性能优化设计。它提供了多维度的分析方法,确保代码分析的系统性和准确性。

核心模板

  • 主模板: analysis_system/analysis_workflow_template.md
  • 支持文件: analysis_system/ 目录下的所有模板和工具
  • 案例研究: analysis_system/case-studies/ 目录下的实际案例

工作流特点

🎯 多维度分析方法

  • 代码结构分析: 模块依赖、耦合度、内聚性分析
  • 代码质量评估: 复杂度、可读性、可维护性评估
  • 性能分析: 算法复杂度、资源使用、性能热点识别
  • 安全评估: 潜在安全风险和最佳实践检查
  • 技术债务识别: 代码异味、重复代码、过时模式识别

🤖 AI协作优化

  • Copilot集成: 专为GitHub Copilot Agent模式优化
  • 自然语言交互: 用自然语言描述分析需求,AI自动解析
  • 智能建议: AI基于分析结果提供优化建议和重构方案

📊 自动化工具支持

  • 代码指标收集器: 自动提取代码质量指标
  • 依赖关系分析器: 生成模块依赖图谱
  • 性能剖析器: 识别性能瓶颈和热点
  • 报告生成器: 自动生成结构化分析报告

使用方法

步骤1: 初始化分析环境

# 进入分析系统目录
cd analysis_system

# 复制工作流模板
Copy-Item analysis_workflow_template.md "analysis_workflow_$(Get-Date -Format 'yyyyMMdd').md"

步骤2: 配置分析参数

编辑工作流文档,配置以下分析参数:

  • 项目路径和范围
  • 分析维度选择
  • 成功标准定义
  • 输出格式要求

步骤3: 执行自动化分析

# 运行代码指标收集
python tools/code-metrics-collector.py --project-path "C:/path/to/project"

# 生成分析报告
./tools/generate-analysis-report.ps1 -ProjectPath "C:/path/to/project"

步骤4: 深度分析和报告

使用模板进行深度分析:

  • 使用templates/analysis-report-template.md生成分析报告
  • 使用templates/performance-analysis-template.md进行性能分析
  • 使用templates/refactor-plan-template.md制定重构计划

分析维度

1. 代码结构分析

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

2. 代码质量评估

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

3. 性能分析

  • 算法复杂度: 时间复杂度和空间复杂度分析
  • 资源使用: 内存使用、IO操作、CPU密集度
  • 性能热点: 识别性能瓶颈和优化点

4. 安全评估

  • 安全漏洞扫描: 常见安全问题识别
  • 最佳实践检查: 安全编码规范遵循情况
  • 依赖安全性: 第三方库安全性评估

5. 技术债务识别

  • 代码异味: 长方法、大类、重复代码等
  • 过时模式: 不推荐的编程模式和实践
  • 技术债务量化: 修复成本估算和优先级排序

环境设置

Python环境要求

# 安装依赖
pip install ast
pip install os
pip install pathlib
pip install argparse

PowerShell环境要求

# 确保PowerShell执行策略允许脚本运行
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

分析流程

阶段1: 项目理解

  1. 项目概述: 理解项目背景、技术栈、业务逻辑
  2. 需求分析: 明确分析目标和成功标准
  3. 范围界定: 确定分析的代码范围和深度

阶段2: 自动化分析

  1. 指标收集: 运行自动化工具收集基础指标
  2. 结构分析: 分析代码结构和依赖关系
  3. 质量评估: 评估代码质量指标

阶段3: 深度分析

  1. 人工审查: 结合自动化结果进行人工审查
  2. 问题识别: 识别关键问题和改进机会
  3. 方案制定: 制定具体的优化和重构方案

阶段4: 报告生成

  1. 结果汇总: 整理分析结果和关键发现
  2. 报告编写: 生成结构化的分析报告
  3. 建议提供: 提供可行的改进建议和实施计划

模板使用

分析报告模板

  • analysis-report-template.md: 标准分析报告模板
  • performance-analysis-template.md: 性能分析专用模板
  • code-review-template.md: 代码评审模板

计划模板

  • refactor-plan-template.md: 重构计划模板
  • analysis-implementation-template.md: 分析实施计划模板

总结模板

  • summary-template.md: 项目分析总结模板

工具使用

代码指标收集器

python tools/code-metrics-collector.py --project-path "/path/to/project" --output-format json

分析报告生成器

./tools/generate-analysis-report.ps1 -ProjectPath "/path/to/project" -ReportType "comprehensive"

工具详细说明

参考 tools/analysis-tools-README.md 获取工具的详细使用说明。

最佳实践

分析前准备

  1. 明确目标: 清晰定义分析的目标和期望输出
  2. 范围界定: 合理界定分析范围,避免过于宽泛
  3. 工具准备: 确保所有必要的工具和环境已准备就绪

分析过程

  1. 循序渐进: 从概要分析开始,逐步深入细节
  2. 数据驱动: 基于客观数据进行分析,避免主观臆断
  3. 持续验证: 定期验证分析结果的准确性和有效性

结果应用

  1. 优先级排序: 根据影响程度和修复难度排序问题
  2. 渐进改进: 制定分阶段的改进计划
  3. 效果跟踪: 跟踪改进措施的实际效果

目录结构

分析工作流采用"总-分-总"的目录组织结构:

目录结构

分析工作流采用"总-分-总"的目录组织结构:

analysis_system/
├── README.md                      # 本文档 - 工作流概述和使用指南
├── README_en.md                   # 英文版本说明文档
├── analysis_workflow_template.md  # 工作流模板 - 可复用的分析流程模板
├── templates/                     # 标准化模板
│   ├── analysis-implementation-template.md # 具体实施模板
│   ├── analysis-report-template.md    # 分析报告模板
│   ├── code-review-template.md        # 代码评审模板
│   ├── performance-analysis-template.md # 性能分析模板
│   ├── refactor-plan-template.md      # 重构计划模板
│   └── summary-template.md            # 项目总结模板
├── tools/                         # 辅助工具
│   ├── generate-analysis-report.ps1   # 自动化分析报告生成工具
│   ├── code-metrics-collector.py      # 代码指标收集工具
│   └── analysis-tools-README.md       # 工具使用说明
├── tasks/                         # 分析轮次归档目录
│   ├── README.md                  # 归档目录说明
│   └── [任务ID]/                  # 具体分析任务目录
│       ├── master_plan/           # 总体规划和汇总报告
│       ├── [轮次目录]/            # 各轮次分析目录
│       │   ├── summary/           # 本轮核心输出文档归档
│       │   ├── reports/           # 各类详细分析报告
│       │   ├── metrics/           # 代码指标和量化数据
│       │   └── analysis/          # 详细分析过程和中间结果
│       └── archive/               # 已完成任务的工作流文档存档
└── case-studies/                  # 案例研究
    ├── README.md                  # 案例研究说明
    └── [案例名称]/                # 具体案例目录

任务目录组织说明

每个分析任务按照以下结构组织:

  • master_plan/: 存放总体分析规划和最终汇总报告
  • [轮次目录]/: 按分析轮次组织,如"1_初始质量评估/"、"2_深度架构分析/"等
    • summary/: 存放本轮次的核心输出和总结文档
    • reports/: 存放各类详细分析报告
    • metrics/: 存放代码指标和量化评估数据
    • analysis/: 存放详细的分析过程和中间结果
  • archive/: 存放已完成的工作流文档和历史记录

适用场景

项目类型

  • 信号处理系统: 复杂的算法和数据处理流程分析
  • GUI应用程序: Qt/PySide界面应用的代码质量评估
  • 多模块Python项目: 大型项目的模块化架构分析
  • 科学计算项目: 性能关键型算法的优化分析

分析时机

  • 项目初期: 建立基准线和质量标准
  • 开发过程: 持续监控代码质量趋势
  • 版本发布前: 全面质量评估和风险识别
  • 重构规划时: 数据驱动的重构决策支持

常见问题

Q: 如何选择合适的分析维度?

A: 根据项目特点和分析目标选择:

  • 新项目关注代码结构和质量
  • 成熟项目关注性能和技术债务
  • 重构项目关注架构和依赖关系

Q: 自动化工具的准确性如何?

A: 自动化工具提供基础数据和指标,需要结合人工分析:

  • 量化指标作为分析基础
  • 人工审查验证工具结果
  • 结合业务逻辑进行深度分析

Q: 分析报告如何使用?

A: 分析报告是决策支持工具:

  • 识别关键问题和风险点
  • 制定优化和重构计划
  • 跟踪改进措施的效果

开始使用: 查看 analysis_workflow_template.md 开始您的第一次项目分析。

获取支持: 如有问题,请参考 tools/analysis-tools-README.md 或查看 case-studies/ 中的实际案例。


最后更新: 2025年7月29日
版本: v2.4.0
维护者: Copilot Workflow System Team