Initial commit
# Claude Code 项目分析器 这是一个**代码项目分析系统**,用于分析软件项目的代码结构、文件职责、依赖关系和函数信息。系统使用 Claude AI 来理解代码的业务含义和技术特征。 ## 项目结构
claude_code/ ├── config_claude_cli.py # 统一配置文件 ├── claude_code_cli_analyzer.py # CLI 版本分析器(主程序) ├── filter_claude_cli.py # 需求过滤器 ├── check_and_retry_missing.py # 缺失文件修复工具 ├── verify_json_fields.py # 结果验证工具 ├── requirements.txt # Python 依赖 ├── datasets/ # 数据集目录 │ ├── eANCI/ │ ├── eTour/ │ ├── iTrust/ │ ├── LibEST/ │ └── smos/ ├── prompts/ # 提示词模板 │ ├── basic_analysis.txt # 基本信息分析 │ ├── dependency_analysis.txt # 依赖关系分析 │ └── function_analysis.txt # 函数分析 └── output/ # 分析结果输出 └── {dataset}_analysis_claude_cli.json
## 核心架构 | 文件 | 职责 | |------|------| | `config_claude_cli.py` | 统一配置中心 | | `claude_code_cli_analyzer.py` | CLI 版本分析器 | | `filter_claude_cli.py` | 需求过滤器 | | `check_and_retry_missing.py` | 修复工具 | | `verify_json_fields.py` | 验证工具 | ## 核心功能 ### 1. 代码分析器 (`claude_code_cli_analyzer.py`) 使用 Claude CLI 分析代码文件,输出包含: - 文件主要职责(中英文) - 业务概念列表 - DDD 六层架构分类 - 文件依赖关系 - 函数级分析 ### 2. 需求过滤器 (`filter_claude_cli.py`) 过滤 CSV 文件中的非功能性需求(F=0 的行): - 处理 `_gold.csv` 和 `_best.csv` 文件 - 输出 `_filtered.csv` 文件 - 支持批量处理所有数据集 ### 3. 修复工具 (`check_and_retry_missing.py`) 检查并重新分析缺失字段的文件: - 扫描 JSON 结果中的问题文件 - 自动重新分析缺失的文件 - 更新 JSON 结果 ### 4. 验证工具 (`verify_json_fields.py`) 验证分析结果的字段完整性: - 检查必需字段是否存在 - 统计缺失字段的文件 - 生成验证报告 ## 分析流程
config_claude_cli.py 配置文件示例:
config_claude_cli.py
# 数据集路径 DATASETS_ROOT = r"D:\7-Traceability\claude_code\datasets" OUTPUT_DIR = r"D:\7-Traceability\claude_code\output" CURRENT_DATASET = "iTrust" # 当前分析的数据集 # Claude CLI 配置 CLAUDE_CLI_COMMAND = "claude" CLAUDE_MODEL = "claude-sonnet-4-5-20250929" # 批处理配置 BATCH_SIZE = 5 # 每批文件数 MAX_PARALLEL_BATCHES = 3 # 最大并行批次数 # Git Bash 配置(Windows) GIT_BASH_PATH = r"D:\software\Git\bin\bash.exe"
pip install -r requirements.txt
npm install -g @anthropics/claude-code
python filter_claude_cli.py
# 修改 config_claude_cli.py 中的 CURRENT_DATASET 切换数据集 python claude_code_cli_analyzer.py
python check_and_retry_missing.py
python verify_json_fields.py
分析结果保存在 output/{dataset}_analysis_claude_cli.json:
output/{dataset}_analysis_claude_cli.json
{ "root": "D:\\...\\iTrust\\code", "files": { "AccessManager.java": { "full_path": "...", "size": 2799, "extension": ".java", "main_responsibility_en": "Manages user access control", "main_responsibility_zh": "管理用户访问控制", "business_concepts_en": ["User", "Role", "Permission"], "business_concepts_zh": ["用户", "角色", "权限"], "category": "business_logic", "depends_on": ["User.java", "Role.java"], "depended_by": ["LoginController.java"], "function_analysis": [ { "function_signature": "public boolean hasPermission(User user, String permission)", "functionality": "Check if user has specific permission", "inputs": ["User user: the user to check", "String permission: permission name"], "outputs": ["boolean: true if user has permission"], "requirement_predictions": [ "System must enforce role-based access control", "Users can only access authorized features" ] } ] } }, "validation": { "expected_count": 226, "scanned_count": 226, "validation_passed": true } }
1. 准备数据 ├── 确保 datasets/{dataset}/code/ 有代码文件 └── 运行 filter_claude_cli.py 过滤需求(可选) 2. 分析代码 ├── 修改 CURRENT_DATASET 指定数据集 └── 运行 claude_code_cli_analyzer.py 3. 修复问题 ├── 运行 check_and_retry_missing.py 检查缺失 └── 自动重新分析有问题的文件 4. 验证结果 ├── 运行 verify_json_fields.py 验证完整性 └── 检查 output/ 目录的 JSON 文件
http://localhost:8000/v1
.java
.py
.cpp
.c
.h
.js
.ts
.css
.html
output/
claude config
MAX_PARALLEL_BATCHES
MAX_BASIC_CONTENT_LENGTH
本项目仅供研究和学习使用。
邮件:shiluoyuan1995@126.com
代码项目分析系统,用于分析软件项目的代码结构、文件职责、依赖关系和函数信息。系统使用 Claude AI 来理解代码的业务含义和技术特征。
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802032778号
claude_code/ ├── config_claude_cli.py # 统一配置文件 ├── claude_code_cli_analyzer.py # CLI 版本分析器(主程序) ├── filter_claude_cli.py # 需求过滤器 ├── check_and_retry_missing.py # 缺失文件修复工具 ├── verify_json_fields.py # 结果验证工具 ├── requirements.txt # Python 依赖 ├── datasets/ # 数据集目录 │ ├── eANCI/ │ ├── eTour/ │ ├── iTrust/ │ ├── LibEST/ │ └── smos/ ├── prompts/ # 提示词模板 │ ├── basic_analysis.txt # 基本信息分析 │ ├── dependency_analysis.txt # 依赖关系分析 │ └── function_analysis.txt # 函数分析 └── output/ # 分析结果输出 └── {dataset}_analysis_claude_cli.json
配置说明
config_claude_cli.py配置文件示例:使用方法
1. 安装依赖
2. 安装 Claude CLI(CLI版本需要)
3. 过滤需求文件(预处理)
4. 运行代码分析
5. 检查并修复缺失字段
6. 验证结果完整性
输出结构
分析结果保存在
output/{dataset}_analysis_claude_cli.json:数据集说明
工作流程
注意事项
http://localhost:8000/v1).java,.py,.cpp,.c,.h,.js,.ts,.css,.htmloutput/目录claude config设置)MAX_PARALLEL_BATCHES可调整以避免 API 限流MAX_BASIC_CONTENT_LENGTH可调整) ```许可证
本项目仅供研究和学习使用。
联系
邮件:shiluoyuan1995@126.com