96 lines
3.0 KiB
YAML
96 lines
3.0 KiB
YAML
tool_id: PY-CODE-STATS-004
|
||
tool_name: "代码统计器"
|
||
|
||
基本信息:
|
||
语言: python
|
||
文件: code-stats.py
|
||
复杂度: level-3
|
||
创建日期: 2025-11-14
|
||
作者: CodeConscious
|
||
|
||
用途分类:
|
||
- CODE # 代码分析
|
||
- DATA # 数据统计
|
||
|
||
功能描述:
|
||
简介: "分析代码库统计信息,包括行数、函数、类、注释率和代码健康度评分"
|
||
详细: |
|
||
支持功能:
|
||
- 多语言支持(Python, JavaScript, TypeScript, Java, C/C++, Shell)
|
||
- 统计行数、代码行、注释行、空行
|
||
- 统计函数、类、导入语句数量
|
||
- 按文件类型分组统计
|
||
- 代码复杂度评分(0-100)
|
||
- 代码健康度评分(基于注释率、文件大小、函数密度)
|
||
- 生成详细分析报告和建议
|
||
- 支持JSON格式输出
|
||
- 支持报告保存到文件
|
||
|
||
使用场景:
|
||
- "评估新项目代码库规模和复杂度"
|
||
- "代码审查前了解整体质量状况"
|
||
- "重构前识别需要改进的模块(大文件、低注释率)"
|
||
- "定期监控代码健康度变化趋势"
|
||
- "技术债务评估和量化"
|
||
- "团队间代码质量对比"
|
||
|
||
使用方法:
|
||
命令: "python3 code-stats.py [项目路径] [选项]"
|
||
参数:
|
||
project_path: "项目路径(默认:当前目录)"
|
||
--json: "JSON格式输出"
|
||
-o, --output: "输出报告到文件"
|
||
示例:
|
||
- "分析当前目录: python3 code-stats.py ."
|
||
- "分析指定项目: python3 code-stats.py /path/to/project"
|
||
- "JSON格式输出: python3 code-stats.py . --json"
|
||
- "保存报告: python3 code-stats.py . -o report.md"
|
||
|
||
依赖要求:
|
||
python版本: ">=3.8"
|
||
依赖包: # 无第三方依赖,只使用标准库
|
||
- argparse: "标准库"
|
||
- json: "标准库"
|
||
- pathlib: "标准库"
|
||
- re: "标准库"
|
||
|
||
输入输出:
|
||
输入:
|
||
- 类型: 目录(递归扫描)
|
||
- 格式: 源代码文件
|
||
- 忽略: .git, __pycache__, node_modules, venv等
|
||
输出:
|
||
- stdout: 详细统计报告(按文件类型、健康度评分、建议)
|
||
- JSON: 结构化数据(使用--json参数)
|
||
- 文件: Markdown报告(使用-o参数)
|
||
|
||
上次使用:
|
||
时间: 2025-11-14 11:45:00
|
||
用途: "分析ai-runtime项目代码库,评估项目规模和质量"
|
||
结果: |
|
||
识别出25个文件,总代码行数约50000行
|
||
注释率12%(符合质量标准>10%)
|
||
代码复杂度评分:中等
|
||
识别出3个较大文件(>500行,建议拆分)
|
||
满意度: 0.94
|
||
|
||
相关工具:
|
||
- 前置工具: 无
|
||
- 互补工具:
|
||
- toolkit/python/analysis/dependency-analyzer.py(依赖分析)
|
||
- toolkit/bash/analysis/analyze-logs.sh(日志分析)
|
||
- 替代工具:
|
||
- cloc(专业代码统计工具)
|
||
- wc -l(简单行数统计)
|
||
|
||
维护记录:
|
||
2025-11-14:
|
||
- 初始创建
|
||
- 支持多语言(Python, JavaScript, Java, C/C++, Shell)
|
||
- 实现复杂度评分和健康度评分
|
||
TODO:
|
||
- 支持更多语言(Go, Rust, Ruby)
|
||
- 添加复杂度圈数(Cyclomatic Complexity)计算
|
||
- 支持代码重复率检测
|
||
- 添加与上次统计的对比功能
|