SuperAPI AI 工具集

rust-api-design

编程与开发

查看项目

更新于 10-15 21:48

技能介绍

用途:将 Rust API Guidelines 约百条 C-* 规则落地为公开 crate 的具体设计决策,负责公共 API 的形态——类型、trait、命名、转换及边界。不涉及 Cargo 清单、工作区拓扑、crate 内 src/ 布局、semver 与发布。

主要能力:命名(大小写、as_/to_/into_ 转换前缀、访问器不加 get_);互操作(derive Debug/Clone/Eq/Hash 等、From/AsRef/Borrow 转换并拒绝 Deref 多态、迭代器与 Extend、serde 互操作);可预报性(const fn、Default 与 builder);灵活性(输入用泛型输出用具体类型、newtype、Ext 扩展 trait);类型安全(bool 换枚举、NonZero*、&str 而非 &String、无符号类型、bitflags、区间 newtype);可靠性(公开路径避免 panic!/unwrap,返回 Result,不用 transmute);可调试性(公共类型实现 Debug,机密需手动脱敏);未来兼容(封闭 trait、私有字段、#[non_exhaustive])。

使用方式:先用 cargo doc --open 盘点公开接口,再按章节逐项应用命名、互操作、可预报性、类型安全、可靠性、未来兼容规则;semver、文档测试与 lint 配置分别移交 rust-semver、rust-documentation、rust-style-clippy。

适用场景:设计或审查公开 Rust crate 的 API。限制:需要 Rust 所有权、trait、生命周期与模块可见性基础;不收集、不存储、不传输用户数据。