# 通用代码评审检查清单 适用于所有项目,补充六视角扫描法(五传统视角 + Karpathy Scope 视角)。 ## Karpathy 反模式速查(Scope 审计者视角辅助) 基于 [andrej-karpathy-skills](https://github.com/forrestchang/andrej-karpathy-skills) EXAMPLES.md 提炼。 ### ❌ 反模式 → ✅ 正确做法 | 场景 | 反模式(LLM 常犯) | 正确做法 | |------|-----------------|---------| | "做个导出功能" | 静默假设文件格式/字段/分页,直接实现 | 列出3种解读(API/文件/任务队列),问用户选哪种 | | "让搜索更快" | 同时加缓存+索引+async,200行 | 列出3种"更快"含义+估算,等确认再做 | | "加个折扣计算" | Strategy+Abstract+Enum+DataClass,50行 | `def calc_discount(amount, pct): return amount * pct / 100` | | "修保存偏好的bug" | 顺手加 merge/validate/notify/cache | 只改最小范围,加注释"其他特性按需再加" | | "修空邮件校验bug" | 顺手加用户名校验+类型注解+docstring | 只改空邮件的那2行 | | "加日志到上传函数" | 改引号风格+加类型注解+重构return逻辑 | 只加日志,保持原有代码风格 | | "修认证bug" | "我会检查代码并做改进"(无标准) | 先写测试复现bug,再实现修复,再跑测试 | | "加限流" | 一次提交Redis+多策略+配置系统+监控 | 分4步,每步独立可验证可部署 | ### 触发关键词(出现时加强 Scope 审计) `export/导出` `faster/更快` `manage/管理` `notify/通知` `fix/修复` `improve/改进` `refactor/重构` `add/添加` ## API 设计 - [ ] RESTful 命名是否规范?(复数名词、无动词) - [ ] 分页参数是否有默认值和上限? - [ ] 响应格式是否统一?(code/message/data) ## 错误处理 - [ ] 错误是否被正确传播?(不要吞掉错误) - [ ] 用户可见的错误消息是否友好?(不暴露技术细节) - [ ] 是否有 panic recover 兜底? ## 性能 - [ ] 列表查询是否有分页?(不允许无限制查询) - [ ] N+1 查询问题?(循环内查数据库) - [ ] 是否有不必要的全表扫描?(缺少索引) ## 可维护性 - [ ] 魔法数字是否提取为常量? - [ ] 复杂业务逻辑是否有注释说明? - [ ] 函数是否过长?(超过 100 行考虑拆分)