基于《Clean Code》《Clean Architecture》和《The Pragmatic Programmer》的严格代码审查技能。在每次代码修改后自动运行(L4 严格级别)。当用户明确要求代码审查,或在提交前审查大批量变更时显式使用。触发场景:代码审查、review、检查代码质量、完成代码修改后。
基于三本书的严格 L4 代码审查:《Clean Code》(CC)、《Clean Architecture》(CA)、《The Pragmatic Programmer》(PP)。适配 NetEase MC Python 2.7 运行环境。
| 序号 | 类别 | 检查内容 | 依据规则 |
|---|---|---|---|
| 1 | 正确性 | 逻辑是否正确?边界情况是否已处理? | PP-34, PP-38 |
| 2 | Py2.7 兼容 | 无 Python 3 语法?使用 # type: 注释? | 致命红线 |
| 3 | 命名规范 | 驼峰命名 camelCase?名称是否揭示意图? | CC-4, PP-74 |
| 4 | 函数设计 | 函数足够小?单一职责?参数 ≤3 个? | CC-20, CC-21, CC-26 |
| 5 | DRY 原则 | 是否存在知识重复?(不仅仅是代码相似) | PP-15, CC-37 |
| 6 | 耦合度 | 是否有循环导入?是否正确解耦? | CA-18, PP-44 |
| 7 | 错误处理 | 是否捕获具体异常?是否有裸 ? |
except:| CC-86, PP-38 |
| 8 | 注释质量 | 注释是否解释"为什么"而非"做什么"?是否与代码保持同步? | CC-39, CC-43 |
| 9 | 类型提示 | 所有函数是否已标注?变量类型提示是否在同一行? | 项目规范 |
| 10 | 配置管理 | 所有常量是否在 Shared/Config.py?无子模块配置文件? | config-centralizer |
| 11 | 资源清理 | 事件是否已解绑?定时器是否已销毁?实体是否已移除? | PP-40 |
| 12 | RPC 规范 | 是否使用 QuMod?无裸 NotifyToServer?数据是否可序列化? | qumod-rpc-generator |
| 13 | 线程安全 | 子线程中是否无引擎 API 调用?是否使用 RUN_IN_MAIN_THREAD? | 项目规则 |
| 14 | YAGNI 原则 | 是否无投机性功能? | PP-43 |
| 15 | 架构设计 | 依赖方向是否正确?是否遵守单一职责原则(SRP)? | CA-8, CA-31 |
## 代码审查 — [审查范围描述]
### 审查结果
| 序号 | 严重程度 | 位置 | 问题描述 | 依据规则 | 修复建议 |
|------|------------|------------|-----------|---------|---------|
| 1 | 🔴 严重 | 文件:行号 | 描述 | PP-XX | 建议 |
| 2 | 🟡 警告 | 文件:行号 | 描述 | CC-XX | 建议 |
| 3 | 🟢 轻微 | 文件:行号 | 描述 | CA-XX | 建议 |
### 汇总
- 严重: N | 警告: N | 轻微: N
- [通过/不通过] — 阈值:0 个严重,≤2 个警告
当待审查文件 ≥ 2 个时,可使用 Task 工具(subagent_type="generalPurpose")并发启动多个子代理任务并行审查各文件。不支持时按文件顺序逐一审查。
需要查阅详细规则时,按需读取以下文件: