网淘吧来吧,欢迎您!

返回首页 微信
微信
手机版
手机版

Code Analysis Skills

2026-03-28 新闻来源:网淘吧 围观:28
电脑广告
手机广告

代码分析技能

📦GitHubhttps://github.com/Wscats/code-analysis-skills

扫描指定的仓库或包含Git仓库的目录,分析并比较开发者的提交习惯、工作模式、开发效率、代码风格、代码质量和懈怠指数。为每位开发者提供直率、数据驱动的评估,包括分数、等级、优势、劣势和可操作建议。以Markdown/HTML/JSON/PDF格式输出结构化报告。

💬 自然语言(推荐)

您无需记忆任何命令——只需用您自己的语言描述您的需求:

🇺🇸 英语

💬 "Analyze Alice's development efficiency in /path/to/repo"
💬 "Show me the team's work habits in this project"
💬 "Compare Alice and Bob's code quality"
💬 "What's the slacking index of this project?"
💬 "Generate a full developer evaluation report"
💬 "Score all developers and tell me who's slacking"
💬 "What's wrong with Bob's commit habits?"
💬 "Here's my repo, can you analyze the team?"

🇨🇳 中文

💬 "分析一下这个仓库 Alice 的研发效率"
💬 "帮我看看团队成员的工作习惯"
💬 "对比一下 Alice 和 Bob 的代码质量"
💬 "看看这个项目的摸鱼指数"
💬 "给所有开发者做个完整评估打分"
💬 "谁的代码质量最差?帮我分析下"
💬 "最近一个月团队的提交习惯怎么样?"
💬 "这个仓库有什么问题?帮我诊断下"

🇯🇵 日语

💬 "このリポジトリの開発者効率を分析してください"
💬 "チームメンバーの作業習慣を見せてください"
💬 "AliceとBobのコード品質を比較してください"
💬 "このプロジェクトのサボり指数は?"
💬 "全開発者の評価レポートを作成してください"

🇰🇷 韩语

💬 "이 레포지토리의 개발 효율성을 분석해줘"
💬 "팀원들의 작업 습관을 보여줘"
💬 "Alice와 Bob의 코드 품질을 비교해줘"
💬 "이 프로젝트의 땡땡이 지수가 뭐야?"
💬 "모든 개발자에 대한 평가 보고서를 만들어줘"

🇪🇸 西班牙语

💬 "Analiza la eficiencia de desarrollo de Alice en este repositorio"
💬 "Muéstrame los hábitos de trabajo del equipo"
💬 "Compara la calidad del código de Alice y Bob"
💬 "¿Cuál es el índice de holgazanería de este proyecto?"
💬 "Genera un informe de evaluación completo de los desarrolladores"

🇫🇷 法语

💬 "Analyse l'efficacité de développement d'Alice dans ce dépôt"
💬 "Montre-moi les habitudes de travail de l'équipe"
💬 "Compare la qualité du code d'Alice et de Bob"
💬 "Quel est l'indice de paresse de ce projet ?"
💬 "Génère un rapport d'évaluation complet des développeurs"

🇩🇪 德语

💬 "Analysiere die Entwicklungseffizienz von Alice in diesem Repository"
💬 "Zeig mir die Arbeitsgewohnheiten des Teams"
💬 "Vergleiche die Codequalität von Alice und Bob"
💬 "Was ist der Faulenzer-Index dieses Projekts?"
💬 "Erstelle einen vollständigen Bewertungsbericht für alle Entwickler"

注意:您需要提供仓库路径(repo_path) — 这是一个必需参数。如果您已在代码仓库上下文中操作,智能体或许能从对话中推断出路径,但为了准确性,始终建议明确指定路径。

该技能理解上述所有语言。只需描述您的需求,它就会在您的代码仓库上运行分析并返回一份结构化报告。


🚀 快速开始 (CLI)

安装依赖项

pip install gitpython pydriller radon tabulate jinja2 click reportlab

为了获得更高质量的PDF输出(可选):

pip install weasyprint   # Recommended, requires system cairo library
# or
pip install pdfkit       # Requires system wkhtmltopdf

常用命令

# Analyze a single repository (all contributors)
python -m src.main -r /path/to/repo

# Scan all repositories under a directory
python -m src.main -r /path/to/projects --scan-all

# Compare specific developers
python -m src.main -r /path/to/repo -a "Alice" -a "Bob"

# Specify date range + HTML output
python -m src.main -r /path/to/repo -s 2024-01-01 -u 2024-12-31 -f html -o report.html

# Generate Markdown + HTML + PDF simultaneously
python -m src.main -r /path/to/repo -f "markdown,html,pdf" -o report

# Generate PDF report only
python -m src.main -r /path/to/repo -f pdf -o report.pdf

# Save report to a file
python -m src.main -r /path/to/repo -o report.md

CLI 参数

参数简写描述默认值
--repo-path-rGit仓库或父目录的路径必需
--scan-all递归扫描所有.git仓库false
--author-a按作者筛选(可重复)所有作者
--since-s开始日期 (ISO 格式)
--until-u结束日期 (ISO 格式)
--branch-b要分析的分支活动分支
--format-f输出格式:markdown,json,html,pdf(多个选项用逗号分隔)markdown
--输出-o输出文件路径标准输出

使用场景

  • 分析Git仓库中的开发者行为
  • 比较团队成员的提交习惯和开发效率
  • 了解代码质量趋势和风格一致性
  • 批量分析目录下的所有.git仓库
  • 生成工作习惯报告(活跃时段、周末/深夜编码、连续提交情况等)
  • 通过评分、优势、不足和建议来评估每位开发者的综合能力
  • 查看团队的“摸鱼指数”排行榜
  • 生成正式的PDF报告以供审查

工作流程

步骤1:确认分析参数

向用户询问以下信息:

  • 仓库路径:单个Git仓库路径,或包含多个仓库的父目录
  • 扫描范围:是否扫描目录下的所有.git仓库(--scan-all
  • 目标作者:分析特定开发者(多选)或所有贡献者
  • 日期范围:可选的开始/结束日期(ISO格式,例如:2024-01-01
  • 分支:要分析的分支;默认为当前活动分支
  • 输出格式markdown(默认)、jsonhtmlpdf,或逗号分隔的组合

步骤 2:运行分析

使用已确认的参数执行分析脚本(命令示例请参见上方的“快速开始”)。

步骤3:解读报告

报告涵盖七个维度。请为用户逐一解读每个维度的关键发现:

  1. 🏆 开发者评估— 总体评分(S/A/B/C/D/E/F)、优势、劣势、改进建议、一句话评价
  2. 🐟 摸鱼指数— 活跃度、琐碎提交比例、消失比例、低产出、拖延信号
  3. 📝 提交习惯— 提交频率、提交规模、合并比例、提交信息质量
  4. ⏰ 工作习惯— 活跃时段分布、周末/深夜编码比例、连续编码时段
  5. 🚀 开发效率— 代码变更率、返工率、巴士因子、文件所有权
  6. 🎨 代码风格— 语言分布、约定式提交规范遵循度、文件分类
  7. 🔍 代码质量— Bug修复比例、回退频率、大型提交比例、测试覆盖率、复杂度

在多开发者分析中,额外包含以下部分:

  • 📋 交叉对比汇总表
  • 🏆 开发者得分排行榜
  • 🐟 摸鱼指数排行榜

步骤四:深入解读评估结果

针对每位开发者的评估,向用户提供直白、不拐弯抹角的解读:

  1. 得分与等级:总分(0-100)及对应等级(S/A/B/C/D/E/F)
  2. 六维度得分:提交纪律、工作连续性、效率、代码质量、代码风格、参与度
  3. 优势:每项优势均有具体数据支撑,而非泛泛表扬
  4. 不足:不加修饰——直接指出问题及其影响
  5. 改进建议:可立即执行的具体改进措施
  6. 摸鱼指数:解读各项信号及其含义

可用资源

脚本

  • src/main.py— 主入口点,支持命令行参数,协调完整分析流程并生成报告
  • src/scanner.py— 仓库扫描器,发现单个或递归扫描多个Git仓库
  • src/analyzers/base_analyzer.py— 基础分析器类,提供Git历史遍历和作者过滤功能
  • src/analyzers/commit_analyzer.py— 提交习惯分析(频率、大小、提交信息质量)
  • src/analyzers/work_habit_analyzer.py— 工作习惯分析(活跃时段、周末、深夜、连续工作)
  • src/analyzers/efficiency_analyzer.py— 开发效率分析(代码变动、返工、巴士因子)
  • src/analyzers/code_style_analyzer.py— 代码风格分析(语言分布、提交规范)
  • src/analyzers/code_quality_analyzer.py— 代码质量分析(缺陷修复、撤销提交、复杂度)
  • src/analyzers/slacking_analyzer.py— 摸鱼指数分析(活跃度、琐碎提交、消失模式、拖延症等)
  • src/evaluator/developer_evaluator.py— 开发者评估引擎(综合评分、优势/劣势、建议、结论)
  • src/reporters/markdown_reporter.py— Markdown报告生成器
  • src/reporters/json_reporter.py— JSON报告生成器
  • src/reporters/html_reporter.py— HTML报告生成器(带有丰富的视觉样式)
  • src/reporters/pdf_reporter.py— PDF报告生成器(支持weasyprint/pdfkit/reportlab备用方案)

参考文档

  • references/metrics-guide.md— 指标定义、计算方法及健康值参考范围。当用户询问特定指标含义时,请阅读此文件。

⚠️ 隐私与数据安全声明

重要提示:本工具从Git提交历史中提取开发者个人活动数据,包括但不限于:

  • 提交时间戳(精确到小时)
  • 周末/深夜编码频率
  • 个人提交频率与产出量
  • 代码归属权认定
  • 懈怠指数与行为评估

使用前必须遵守以下原则:

  1. 知情同意— 分析代码库前需获得所有相关开发者的明确同意
  2. 非惩罚性使用— 分析结果不得直接用于绩效考核、薪酬决策或惩罚性管理
  3. 情境化理解— 数据必须在实际工作背景下解读(例如:架构师天然提交较少,这不代表低产出)
  4. 数据保护— 生成的报告包含个人信息,应安全存储,不得公开分享
  5. 合规性— 确保使用方式符合组织人力资源政策及当地数据保护法规(如GDPR)
  6. 本地执行— 此工具完全在本地运行,不会向外部服务器传输任何数据

评估体系

总体评分(0-100)

等级分数范围含义
S90-100顶尖贡献者,各方面表现卓越
A80-89优秀开发者,可靠且高效
B70-79可靠贡献者,仍有小幅提升空间
C60-69表现合格,但需在多方面改进
D50-59勉强通过,存在明显短板
E35-49低于预期,需要引起重视
F0-34关键问题,需要指导或干预

六个维度权重

维度权重评估内容
📝 提交规范15%提交频率、提交信息质量、规范遵守情况
⏰ 工作稳定性15%日常规律性、工作持续性
🚀 效率20%代码变更率、返工率、产出量
🔍 代码质量25%缺陷修复率、回退率、测试覆盖率、复杂度
🎨 代码风格10%规范提交、关联问题引用
💪 参与度15%松懈指数反信号

松懈指数(0-100)

等级分数范围含义
🔥 工作狂0-20高度投入,持续贡献
✅ 正常21-40健康的工作模式
😏 可疑41-60检测到一些松懈信号
🐟 松懈高手61-80显著的低投入指标
🏆 松懈大师81-100专业级松懈

备注

  • 分析大型代码库(10万次以上提交)可能耗时较长;建议限制日期范围
  • Python代码复杂度分析取决于radon库且仅适用于.py文件
  • 作者匹配支持模糊匹配(通过姓名或邮箱包含关键词进行匹配)
  • 目录扫描默认最大深度为5层,以避免过度递归
  • PDF生成优先使用weasyprint,其次回退到pdfkit,最终回退到reportlab
  • 评估结果仅基于Git提交历史,不代表开发者的全部能力
  • 懈怠指数仅供参考,应在实际工作背景下解读
  • 此工具完全在本地运行,不会向任何外部服务器发送数据
  • 分析团队仓库前,务必事先获得知情同意
  • 报告结果不得直接用于绩效评估或惩罚性管理决策

... 结束

免责申明
部分文章来自各大搜索引擎,如有侵权,请与我联系删除。
打赏
文章底部电脑广告
手机广告位-内容正文底部

相关文章

您是本站第291467名访客 今日有273篇新文章/评论