Skip to content

代码审查清单

代码审查是保证代码质量的关键环节。以下清单帮助你系统性地审查代码。

Spec 合规

检查项说明
实现与 Spec 一致代码实现与 spec.md 中的需求描述一致
未超出 Spec 范围没有添加 Spec 未要求的功能
任务清单完成tasks.md 中的所有任务标记为完成
无遗漏场景Spec 中定义的边界场景已处理

编码规范

后端

检查项说明
分层正确Controller 不含业务逻辑,Service 不含数据访问
SQL 在 XML 中查询 SQL 写在 Mapper XML,不用 LambdaQueryWrapper
包结构规范controller/service/mapper/entity/dto/vo 分层正确
命名规范类名 PascalCase,方法名 camelCase,常量 UPPER_SNAKE
异常处理使用全局异常处理,不吞掉异常
日志规范使用 SLF4J,关键操作有日志,敏感信息不记录

前端

检查项说明
组合式 API使用 <script setup> 语法
字典组件下拉和标签使用 DictSelect / DictTag / useDict
Schema 响应式Schema 定义为 computed
占位符格式URL 占位符使用 :id 格式
按钮样式使用 UnoCSS 语义化颜色类
API 调用使用 @/utils/http 统一请求

安全红线

检查项说明
无硬编码密钥密码、AK/SK、Token 不硬编码在代码中
日志不泄露敏感信息手机号、身份证、银行卡不打印到日志
Key 脱敏API Key 返回前端时脱敏(前4后4,中间 ****)
SQL 注入防护使用 #{} 参数化,禁止 ${} 拼接
XSS 防护用户输入不直接渲染为 HTML
权限校验敏感接口有 @SaCheckPermission 注解
金额用 long金额字段使用 long 类型,单位分

数据库规范

检查项说明
标准字段业务表包含 idtenant_idcreate_bycreate_timeupdate_byupdate_time
逻辑删除主数据表使用逻辑删除(@TableLogic
tenant_id业务数据 tenant_id1,不为 0
字符集utf8mb4 + InnoDB
Flyway 脚本结构变更通过 Flyway 脚本,可重复执行
唯一索引逻辑删除表使用删除标记唯一索引

测试覆盖

检查项说明
核心逻辑有测试Service 层核心方法有单元测试
边界场景有测试空值、异常、边界条件有测试用例
测试可独立运行测试不依赖外部环境(数据库连接等)
测试命名规范方法名_条件_期望结果 格式

文档同步

检查项说明
新增接口有文档Controller 接口有对应的 API 文档
配置项有说明新增配置项在文档中说明
数据库变更有脚本表结构变更有 Flyway 脚本
变更记录已更新CHANGELOG.md 已更新

循环依赖检查

检查项说明
Service 不互相注入Plugin 间 Service 不互相 @Autowired
依赖方向正确Starter 不依赖 Plugin,Plugin 不依赖业务模块
事件解耦跨 Plugin 协作使用事件机制

审查流程

  1. 自查:开发者按清单自查
  2. 交叉审查:另一位开发者审查
  3. Spec 审查:确认实现与 Spec 一致
  4. 安全审查:确认安全红线无违反
  5. 合并:所有审查通过后合并代码

审查工具

工具用途
Git Diff查看代码变更
CodeBuddy /reviewAI 辅助审查
SonarQube代码质量扫描(可选)
ESLint前端代码规范检查

下一步

Forge Admin — 基于 Vue3 + Spring Boot 的企业级后台管理框架