Code Review 速查
本文用于 PR 审查时快速核对。审查方法、评论规范与团队流程见 Code Review。
检查清单
正确性
- [ ] 逻辑是否正确,边界条件是否处理
- [ ] 空指针、数组越界等运行时异常
- [ ] 并发安全(共享变量、竞态条件)
- [ ] 事务边界是否正确
- [ ] 异常处理是否保留必要的错误信息,是否将失败错误地忽略或当作成功
可读性
- [ ] 命名是否清晰(变量、方法、类)
- [ ] 方法的分支、嵌套和状态转换是否使控制流难以理解
- [ ] 注释是否必要且准确
- [ ] 魔法数字是否提取为常量
设计
- [ ] 是否符合单一职责
- [ ] 是否有重复代码
- [ ] 依赖方向是否合理
- [ ] 接口职责与使用方式是否清晰,是否暴露不必要的实现细节
安全
- [ ] SQL 注入风险
- [ ] XSS 风险
- [ ] 越权访问:是否存在水平或垂直越权(服务端资源级权限校验)
- [ ] 不可信输入用于文件操作、网络请求或反序列化时,是否针对具体风险进行校验与约束(如限制文件路径范围、校验请求目标、限制反序列化类型)
- [ ] 日志、错误响应、审计记录是否泄露令牌、凭据或个人数据
- [ ] 密码、访问令牌、私钥等敏感凭据是否硬编码在代码或配置中
性能
- [ ] N+1 查询问题
- [ ] 是否存在可合并的重复查询或无效查询
- [ ] 集合、缓存等数据结构是否存在无界增长或长期保留无用数据
- [ ] 数据库连接、流、文件句柄等需显式释放的资源是否可靠关闭
- [ ] 缓存更新与失效策略是否正确,是否设置合理的容量或过期边界
测试与变更影响
- [ ] 测试是否覆盖关键业务路径与失败路径
- [ ] 公共 API、消息格式或数据库 Schema 的变更是否兼容旧消费者和存量数据
- [ ] 跨服务调用、重试与部分失败是否引入重复执行或状态不一致风险
Review 原则
- 对事不对人,讨论代码而非作者
- 指出问题时说明风险和原因;有明确可行的修正方式时,给出建议或示例
- 区分"必须改"和"建议改"
- 及时处理待审 PR,避免评审长期无人响应