用途:这是一套 Rust 代码风格规范,在编写、审查或修改 Rust 代码时适用。核心价值为正确性优先于便利、务实渐进。
主要能力:用类型系统让非法状态不可表示(newtype、穷尽匹配、#[must_use]);错误处理采用 thiserror 定义结构化错误枚举、miette 提供面向用户的诊断(源码跨度、帮助文本、相关错误),按类别用 ErrorKind 分组,区分用户错误与内部错误,禁止静默丢弃不支持内容。类型模式包括 builder、类型状态、生命周期借用、pub(crate)/pub(super) 收窄可见性、库 crate 用 #[non_exhaustive]。
使用方式:并发用消息传递或 actor 模型;异步仅用于 I/O 与并发,运行时用 Tokio 多线程,Rust 1.85+ 直接用原生 async fn in traits,用 JoinSet 做结构化并发,有界 mpsc 做背压。serde 禁用 #[serde(flatten)] 与 #[serde(untagged)],用 serde_ignored 检测拼写错误字段,修改序列化结构时追踪新旧读写版本矩阵并主动升版本。库 crate 不得读取环境变量,配置须作为参数传入。测试不得静默跳过,缺失依赖必须失败;推荐 test-case、proptest、insta、pretty_assertions。依赖方面,应用与内部 crate 精确固定版本,发布到 crates.io 的库用最窄范围。
适用场景:Rust 项目开发、代码审查、配置与序列化设计、异步与测试规范。
限制:资料未提供具体安装命令、收费信息或平台支持范围;部分约定(如 Tokio 为唯一生产级选择)属该规范的主张,非通用事实。