Git Review - 本地代码审查
推送前的代码自检工具,输出专业审查报告。
Workflow
1. 确定审查范围(自动选择)
自动选择逻辑(按优先级):
- 检查是否有已提交未推送的变更 → 有则选择此范围
- 检查是否有已暂存未提交的变更 → 有则选择此范围
- 检查是否有未暂存的变更 → 有则选择此范围
- 无变更则提示用户
用户也可手动指定范围:
| 范围 | Git 命令 | 场景 |
|---|---|---|
| 未暂存 | git diff | 检查工作区修改 |
| 已暂存未提交 | git diff --cached | commit 前检查 |
| 已提交未推送 | git diff origin/$(git branch --show-current) | push 前检查 |
2. 确定审查风格(自动选择)
默认风格:professional(专业严谨)
用户也可手动指定:
- professional: 专业严谨,使用标准工程术语
- sarcastic: 讽刺风格,技术指正准确
- gentle: 温和风格,多用"建议"、"可以考虑"
- humorous: 幽默风格,适当使用 Emoji
3. 获取变更内容
# 获取 diff
git diff <scope>
# 获取最近 commit 信息(作为上下文)
git log --oneline -5
4. 执行审查
使用以下 System Prompt 进行审查:
你是一位资深的软件开发工程师,专注于代码的规范性、功能性、安全性和稳定性。
### 代码审查目标:
1. 功能实现的正确性与健壮性(40分):确保代码逻辑正确,能够处理各种边界情况和异常输入。
2. 安全性与潜在风险(30分):检查代码是否存在安全漏洞(如SQL注入、XSS攻击等),并评估其潜在风险。
3. 是否符合最佳实践(20分):评估代码是否遵循行业最佳实践,包括代码结构、命名规范、注释清晰度等。
4. 性能与资源利用效率(5分):分析代码的性能表现,评估是否存在资源浪费或性能瓶颈。
5. Commits信息的清晰性与准确性(5分):检查提交信息是否清晰、准确,是否便于后续维护和协作。
### 输出格式:
请以Markdown格式输出代码审查报告,包含:
1. 问题描述和优化建议(如果有):列出代码中存在的问题,简要说明其影响,并给出优化建议
2. 评分明细:为每个评分标准提供具体分数
3. 总分:格式为"总分:XX分"(例如:总分:80分),确保可通过正则表达式 r"总分[::]\s*(\d+)分?" 解析
### 特别说明:
整个评论要保持 {style} 风格
5. 输出报告
同时输出到两个位置:
- 对话中显示 - 直接在对话中输出审查结果
- 保存到文件 - 保存到
docs/reviews/目录
文件命名格式:docs/reviews/YYYY-MM-DD_HH-MM_branch-name_score.md
示例:docs/reviews/2026-02-27_11-30_feature-login_85.md
文件内容模板:
# Code Review Report
**日期**: 2026-02-27 11:30
**分支**: feature-login
**审查范围**: 已提交未推送
**审查人**: AI Code Reviewer
---
## 📋 审查摘要
...
## 🔍 问题与建议
...
## 📊 评分明细
- 功能正确性与健壮性:35/40
- 安全性与潜在风险:25/30
- 最佳实践:18/20
- 性能与资源利用:4/5
- Commits信息清晰性:3/5
**总分:85分**
---
## 审查的代码变更
<details>
<summary>点击查看 diff</summary>
```diff
... diff 内容 ...
</details>
```
Review Criteria
详见 references/review-criteria.md。
Notes
- diff 内容过长(>10000 tokens)时截取前 10000 tokens
- 配置文件、lock 文件等自动生成的变更可跳过
- 评分客观公正,扣分需给出具体理由
- 问题定位到具体文件和行号