用途:在审查或编写框架级代码时使用,适用 handler、parser、protocol、router、CLI runtime、FFI、状态管理等。清单为通用型,对触及核心逻辑的每个 PR 都应逐节应用。与 perf(速度与内存优化)、quality-gate(自动化检查)、ffi(C ABI 边界安全)互补。
主要检查维度: 一、跨层契约一致性。跨多层的语义契约必须一致,包括编解码策略、匹配语义、并列打破规则、边界值(空串、/、%2F、Unicode、含分隔符的值)、错误表示与传播;DESIGN.md 与代码边界需一致;Node/WASM/CLI 绑定应暴露同一逻辑 API;类型强制转换矩阵需有文档;字面量语法需完整(如支持 true/false/字符串/数字则应支持 null);回退路径结果需满足主路径后置条件。检查方式:列出“输入 X → 层 A 得 Y₁、层 B 得 Y₂”,不等则报一致性缺陷;补跨层同输入测试;比对绑定签名。
二、确定性。顺序相关逻辑禁用 HashMap/HashSet 迭代顺序,改用 BTreeMap、IndexMap 或显式排序字段;避免依赖分配或哈希种子顺序;浮点相等需改用整数或 epsilon;确定性路径中不注入随机。
三、并发与竞态。Rust:锁范围不跨 I/O、渲染、网络;多字段读取需单次加锁保证快照一致;异步路径避免 std::sync::Mutex;单计数器用原子量;文件监听失败不得更新时间戳;临时文件需唯一命名;优先事件驱动。FFI/WASM:extern "C" 导出需 catch_unwind;装 panic hook;宿主回调失败需立即停止。TS:用 AbortController 与序列号丢弃过期结果;特性检测需防护。Node:超过 1ms 的操作应提供异步变体。
四、分配与克隆纪律。热点路径避免 format!、String::from(ch)、只读场景 .clone()、Cow 上 .to_string()、无谓 collect、每请求深拷贝或重解析、to_vec() 后再 join;用预分配缓冲、Arc 写时复制、SmallVec、缓存解析结果与编译后查询。
五、数据结构选择。顺序迭代用 BTreeMap/Vec 排序/IndexMap;仅成员判断用 HashSet;小集合用栈数组或 SmallVec;布隆过滤器需 ≥2 个独立哈希并记录误报上界。
六、API 与设计去重。避免跨层重复逻辑、同请求重复调用、自由函数与方法的重复实现;静态计算需缓存;最小公共接口用 pub(crate);错误须可操作。
七、类型安全与惯用法。Rust 禁库代码 unwrap/expect、无 SAFETY 注释的 unsafe、核心算法递归、raw pointer 算术;公共构造与返回 Option/Result 的函数加 #[must_use];删除 dead_code 及标注;静默回退需显式传播;查找失败用带类型错误枚举而非 Option;注意字节与字符索引混淆(用 char_indices);整数比较勿一律转 f64;解析/构建期即验证并快速失败;panic 禁用于可恢复输入,Diagnostic 需含稳定 code、位置、snippet 与 help;颜色仅限 CLI,库输出纯数据;错误构造标记 #[cold];测试断言稳定 code 而非文案;TS 禁 as any、匿名 expando、var、== null、回调式异步、arguments,使用精确联合类型。
八、风格与文档。删除死代码与注释掉的代码、复述式注释;非显然决策需注释;TODO/FIXME/HACK 需附 issue 编号;命名遵循 Rust snake_case/PascalCase/SCREAMING_SNAKE,TS camelCase/PascalCase;魔法数字提取为具名常量;文件超约 400 行按关注点拆分。
限制:资料未提供安装命令、价格、平台支持范围及具体使用步骤,暂未提供。