SuperAPI AI 工具集

type-driven-design

设计与创作

查看项目

更新于 10-15 22:17

技能介绍

用途:在 Rust 中按类型驱动设计原则决定何时引入新类型,使重要的非法状态更难表示,或减少重复检查。

主要能力与规则:仅当类型能表达重要不变量或消除重复检查时才引入类型;当下游代码依赖某不变量时,在边界处把外部值解析为已校验类型,可失败转换使用 TryFrom 或 FromStr;仅当值不可混用或包装器强制真实不变量时使用 newtype,互斥状态使用枚举;缺失用 Option,失败用 Result;仅当编译期预防能实质改善多步 API 时使用 typestate;无需校验或区分行为时,普通值和配置字符串保持普通。

示例:领域值中零无效时使用 NonZeroU16;调用方不需要区分行为或校验时,不要给每个 String 套 newtype。

验证:在目标 crate 中测试有效与拒绝的输入及受影响的调用点,运行 cargo check 和聚焦测试。

集成:从 rust-essentials 开始;当类型改变所有权契约时,与 ownership-borrowing 配合使用。

限制:资料未提供更多安装命令、平台、收费或效果信息。