← ClaudeAtlas

code-reviewlisted

审查 Java 代码(Spring Boot/Spring MVC、MyBatis(-Plus)、JPA、Lombok、Hutool 等技术栈)的安全性、框架最佳实践、代码质量与性能。当用户请求审查、分析或审计代码、检查最佳实践时使用。
cnzeropro/ai-playbook · ★ 0 · Code & Development · score 70
Install: claude install-skill cnzeropro/ai-playbook
# 代码审查 此 skill 用于全面审查 Java 代码,确保代码质量、安全性和可维护性。 ## 何时使用 - 审查代码质量 - 分析代码安全性 - 审计代码规范符合性 - 检查代码最佳实践 - 评估代码可维护性 ## 适用范围 ### 适用对象(本规则适用于) **技术栈** - Java 8 / 11 / 17 / 21(按项目版本评估语法使用是否得当,见 `feature-coding-standard`) - Spring Boot / Spring MVC - 持久层:MyBatis / MyBatis-Plus、Spring Data JPA / Hibernate - Lombok、Hutool / Guava 等常用工具库 **代码对象** - Controller / Service / ServiceImpl / Mapper(Repository)/ Mapper XML - 实体类(PO/DTO/Param/VO)、工具类、配置类 - 枚举、常量、自定义异常 **审查场景** - 提交前代码审查(PR review) - 安全审计 - 规范符合性检查(以 `feature-coding-standard`、`method-ordering`、`db-design-standard` 为检查依据) - 重构前的代码健康度评估 ### 不适用(边界) - 非 Java 项目(前端、Python、Go 等) - 数据库表设计与 SQL 脚本审查(参见 `db-design-standard` skill) - 编码规范与命名约定本身(参见 `feature-coding-standard` skill) - 接口方法排序检查(参见 `method-ordering` skill) - 运行时故障排查(线上问题定位、JVM 调优) ## 核心工作流 1. **阅读代码**:先理解业务场景与调用链,避免脱离上下文提建议 2. **逐项检查**:按“一、审查维度”逐项核对��安全 → 框架 → 质量 → 性能 → 持久层 → 日志) 3. **规范比对**:结合项目实际技术栈,参照 `feature-coding-standard` 等 skill 判断符合性 4. **输出报告**:按“二、审查输出格式”组织结果,严重问题优先 ## 一、审查维度 ### 1. 安全 #### SQL 注入防护 - 检查是否使用参数化查询 - 验证 MyBatis Mapper XML 中是否使用 `${}`(危险)而非 `#{}`(安全) - 检查 JPA/MyBatis 查询是否正确处理用户输入 **示例:** ```java // ❌ 危险:字符串拼接 SQL String sql = "SELECT * FROM users WHERE name = '" + name + "'"; // ✅ 安全:参数化查询 @Select("SELECT * FROM users WHERE name = #{name}") User findByName(@Param("name") String name); ``` #### XSS 防护 - 检查输出到前端的用户输入是否经过转义 - 验证是否使用 Spring 的 `@ResponseBody` 或模板引擎的自动转义 #### 敏感信息泄露 - 检查是否在日志中输出密码、token 等敏感信息 - 验证异常信息是否暴露内部实现细节(如 SQL、