代码审查员 code-reviewer

自动化代码审查工具,用于分析拉取请求,检测代码质量问题,并生成审查报告。

测试 0 次安装 0 次浏览 更新于 3/5/2026

name: 代码审查员 description: TypeScript、JavaScript、Python、Go、Swift、Kotlin的代码审查自动化。分析PR的复杂性和风险,检查代码质量是否违反SOLID原则和代码异味,生成审查报告。在审查拉取请求、分析代码质量、识别问题、生成审查清单时使用。

代码审查员

自动化代码审查工具,用于分析拉取请求,检测代码质量问题,并生成审查报告。


目录


工具

PR分析器

分析git分支间的diff,评估审查复杂性并识别风险。

# 分析当前分支与main分支
python scripts/pr_analyzer.py /path/to/repo

# 比较特定分支
python scripts/pr_analyzer.py . --base main --head feature-branch

# JSON输出以集成
python scripts/pr_analyzer.py /path/to/repo --json

它检测的内容:

  • 硬编码的秘密(密码、API密钥、令牌)
  • SQL注入模式(查询中的字符串连接)
  • 调试语句(debugger、console.log)
  • ESLint规则禁用
  • TypeScript any 类型
  • TODO/FIXME注释

输出包括:

  • 复杂性评分(1-10)
  • 风险分类(严重、高、中、低)
  • 文件优先级以审查顺序
  • 提交消息验证

代码质量检查器

分析源代码的结构问题、代码异味和SOLID违规。

# 分析目录
python scripts/code_quality_checker.py /path/to/code

# 分析特定语言
python scripts/code_quality_checker.py . --language python

# JSON输出
python scripts/code_quality_checker.py /path/to/code --json

它检测的内容:

  • 长函数(>50行)
  • 大文件(>500行)
  • 上帝类(>20方法)
  • 深层嵌套(>4级)
  • 参数过多(>5)
  • 高圈复杂度
  • 缺少错误处理
  • 未使用的导入
  • 魔术数字

阈值:

问题 阈值
长函数 >50行
大文件 >500行
上帝类 >20方法
参数过多 >5
深层嵌套 >4级
高复杂度 >10分支

审查报告生成器

将PR分析和代码质量发现合并到结构化的审查报告中。

# 为当前仓库生成报告
python scripts/review_report_generator.py /path/to/repo

# Markdown输出
python scripts/review_report_generator.py . --format markdown --output review.md

# 使用预计算的分析
python scripts/review_report_generator.py . \
  --pr-analysis pr_results.json \
  --quality-analysis quality_results.json

报告包括:

  • 审查结果(批准、请求更改、阻塞)
  • 评分(0-100)
  • 优先行动项
  • 按严重程度的问题摘要
  • 建议的审查顺序

结果:

评分 结果
90+且无高问题 批准
75+且≤2高问题 批准并建议
50-74 请求更改
<50或严重问题 阻塞

参考指南

代码审查清单

references/code_review_checklist.md

系统清单涵盖:

  • 预审查检查(构建、测试、PR卫生)
  • 正确性(逻辑、数据处理、错误处理)
  • 安全性(输入验证、注入预防)
  • 性能(效率、缓存、可扩展性)
  • 可维护性(代码质量、命名、结构)
  • 测试(覆盖率、质量、模拟)
  • 特定语言检查

编码标准

references/coding_standards.md

特定语言的标准:

  • TypeScript(类型注释、空安全、async/await)
  • JavaScript(声明、模式、模块)
  • Python(类型提示、异常、类设计)
  • Go(错误处理、结构体、并发)
  • Swift(可选、协议、错误)
  • Kotlin(空安全、数据类、协程)

常见反模式

references/common_antipatterns.md

反模式目录,含示例和修复:

  • 结构(上帝类、长方法、深层嵌套)
  • 逻辑(布尔盲、字符串类型代码)
  • 安全(SQL注入、硬编码凭据)
  • 性能(N+1查询、无界集合)
  • 测试(重复、测试实现)
  • 异步(悬浮承诺、回调地狱)

支持的语言

语言 扩展名
Python .py
TypeScript .ts, .tsx
JavaScript .js, .jsx, .mjs
Go .go
Swift .swift
Kotlin .kt, .kts