宇我的小宇宙
小工具 · 规范库 · 全局规范(代码评审 / 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/*)

  • [ ] 用例覆盖正常/异常/边界三类
  • [ ] 步骤可复现,预期结果可判定(非主观描述)

行为准则

  • 发现问题直接指出,并给出修改建议或代码片段;不要只说"有问题"。
  • 对不确定的风险点,标注「需人工确认」而非自行假设。