Java 代码审查报告生成器。用于审查 Java 代码变更,生成结构化审查报告。 触发场景: (1) 审查 git diff 或代码变更 (2) 审查 Java 源文件 (3) 代码质量检查 (4) PR/CR 审查 (5) 检查代码是否符合 Google Java Style、阿里 Java 开发手册、Clea...
git diff 输出或需要审查的 Java 源文件references/rules.mdassets/report-template.md 模板维度描述常见违规示例代码风格与命名命名规范、代码格式、注释变量名 int d;类名 userService;魔法值 status = 1;注释掉的代码异常处理异常捕获、抛出策略、错误处理空 catch 块;捕获 Exception 但不处理;返回 null 而非抛异常安全隐患敏感信息、注入风险、权限控制SQL 拼接;硬编码密码/密钥;未校验用户输入;敏感日志性能问题循环优化、资源复用、算法效率循环内字符串拼接;N+1 查询;未复用连接;HashMap 频繁扩容设计合理性单一职责、模块化、扩展性过长的函数(>50行);过多参数(>3个);重复代码;违反单一职责资源管理资源释放、连接池、内存管理未关闭 Connection/File/Stream;ThreadLocal 未清理;内存泄漏
级别说明示例Critical必须修复,可能导致系统崩溃、安全漏洞或数据丢失SQL 注入;空指针导致崩溃;未释放关键资源;硬编码密码Major强烈建议修复,影响代码质量、可维护性或性能空 catch 块;N+1 查询;过长的函数;重复代码;内存泄漏风险Minor建议改进,不影响功能但有优化空间魔法值未提取;命名不够清晰;可以简化的逻辑Suggestion可选优化,用于代码美化或最佳实践添加 Javadoc;代码格式微调;提取工具方法
markdown
输出格式: HTML
每个问题必须包含以下结构:
text
### N. [严重程度] 问题标题
文件:`文件名:行号`
**问题描述**:
[简短描述问题]
**问题代码**:
```java
// 完整的修复前代码片段(至少 3 行上下文)
修复后代码:
java
// 完整的修复后代码片段(必须可运行)
参考规则:[对应规则编号和名称]
text
> ⚠️ **关键要求**:修复前后的代码片段必须是完整的、可运行的代码,不能只是文字描述。
## 使用示例
**用户输入**:
审查以下代码变更: [git diff 输出]
text
**系统输出**:
文件: UserService.java:45
问题描述: 在方法中获取了数据库连接但未确保关闭。
问题代码:
java
public User findById(Long id) {
Connection conn = dataSource.getConnection(); // 未关闭
// ...
}
修复建议: 使用 try-with-resources 确保资源释放。
修复后代码:
java
public User findById(Long id) {
try (Connection conn = dataSource.getConnection()) {
// ...
} // 自动关闭
}
... (更多问题)
text
## 审查规则
详细规则见 `references/rules.md`,包含:
- Google Java Style Guide 精简版(10条)
- 阿里巴巴 Java 开发手册 精简版(10条)
- Clean Code 原则 精简版(10条)
## 报告模板
默认模板见 `assets/report-template.md`。
如需自定义输出格式或添加额外检查项,修改模板文件。