# 04 · 代码审查清单(Code Review Checklist) > 用法:PR 作者自查 + 评审人复核,全部勾选才可合并。发现清单外问题同样记录到 PR。 ## 1. 通用(全语言) - [ ] 命名与现有风格一致;无魔法值(进配置/常量) - [ ] 无注释掉的死代码、无 TODO 裸奔(TODO 必须带 issue 号或负责人) - [ ] 公共函数有 JSDoc/docblock;复杂分支有一句话"为什么" - [ ] 错误路径与快乐路径同等对待:超时、非 2xx、坏 JSON、空数据 - [ ] 所有外部输入(HTTP 参数、配置、API 响应)视为不可信 - [ ] 日志不打印敏感信息(Key、密码、token 永不出现在日志) - [ ] 新增依赖需在 PR 说明理由(本仓库目标:运行时零依赖) ## 2. 插件 Host 半边(Node/ESM) - [ ] `apply(ctx, config)` 内不做顶层 await 阻塞装配 - [ ] 配置规范化:白名单字段、类型检查、越界回默认值并 warn - [ ] 对宿主 API 一律 feature-detect(`typeof x === 'function'`)+ try/catch - [ ] 动态 import 失败静默降级且有 debug 日志 - [ ] 定时器/监听器/文件句柄走 ctx effect 或显式 dispose - [ ] 不写死 `$DSH_HOME` 路径、端口、协议常量 ## 3. 插件 Client 半边(浏览器) - [ ] 注入的 DOM 全部带 `fmh-` 前缀 class;dispose 时移除自己创建的节点与 `