小工具 · 规范库 · 全局规范(代码评审 / Git / 安全 / 语言)
代码评审清单(Code Review Checklist)
rules/00-global/code-review-checklist.md
代码评审清单(Code Review Checklist)
适用范围
对 AI 生成/修改的代码,以及人工提交的代码,均适用本清单。AI 在交付代码时应主动按清单自检。
通用项(所有语言)
正确性
- [ ] 逻辑是否正确处理了边界:空值、空集合、负数、并发、时区、跨年/月末
- [ ] 条件分支是否覆盖完整(if/else、switch 的 default)
- [ ] 循环是否有终止条件,无死循环、无 off-by-one
- [ ] 异常路径是否处理(不吞异常、不裸 catch)
安全(强制,见 security-anti-leak.md)
- [ ] 无硬编码密码/密钥/内网 IP
- [ ] SQL 用参数化(
#{}),无字符串拼接 - [ ] 用户输入有校验,无 XSS / 路径穿越风险
- [ ] 日志不打印敏感信息(身份证、医保卡、密码)
可维护性
- [ ] 命名清晰、见名知义,符合对应语言规范
- [ ] 无大段被注释的死代码、无
System.out/console.log残留 - [ ] 单一职责:方法不过长(建议 < 80 行),嵌套不超过 3 层
- [ ] 重复逻辑已抽取;魔法数字已命名常量
兼容性 / 回归
- [ ] 改动是否影响既有接口契约(入参、返回结构、错误码)
- [ ] 数据库变更是否有迁移脚本,是否兼容存量数据
- [ ] 前端改动是否影响多机构构建(dev:\<org> / build:\<org>)
后端特有(Java,详见 10-backend/*)
- [ ] Controller 仅校验+转发,无业务逻辑
- [ ] Service 含事务边界,跨数据源注意 @Transactional 生效条件
- [ ] Mapper 仅 SQL,返回 DTO/Entity,无业务判断
- [ ] 统一返回体,错误码规范
- [ ] 无
e.printStackTrace(),异常经 slf4j 记录
前端特有(Vue2,详见 20-frontend/*)
- [ ] 组件 PascalCase,props 有类型与默认值
- [ ] v-for 有唯一 key,避免用 index 作 key
- [ ] 表单有校验规则;表格大数据量用 vxe-table 虚拟滚动
- [ ] 主动解绑全局事件、定时器、watch(beforeDestroy / destroyed)
- [ ] 接口调用走封装的 axios,不直接 fetch
测试特有(详见 30-testing/*)
- [ ] 用例覆盖正常/异常/边界三类
- [ ] 步骤可复现,预期结果可判定(非主观描述)
行为准则
- 发现问题直接指出,并给出修改建议或代码片段;不要只说"有问题"。
- 对不确定的风险点,标注「需人工确认」而非自行假设。