用途:该技能用于指导以符合 Rust 社区惯用法(The Rust Way)的方式开发 Rust 1.75+ 项目,重点是惯用、高性能与内存安全。
主要能力:
- 所有权与借用:严格遵循所有权规则,避免不必要的 .clone();仅在消息传递(mpsc)不可行时使用 Arc<Mutex<T>> 或 RwLock<T> 共享状态。
- 错误处理:库使用 Result<T, E> 配合 thiserror,应用使用 anyhow;生产代码不使用 .unwrap(),改用带上下文消息的 .expect() 或 ? 运算符。
- 异步运行时:通用应用默认使用 tokio,可用 join_all 并行执行 future。
- 类型系统:用 trait 与泛型实现零成本抽象,用 New Type 模式在编译期强制校验。
- 工具链:构建用 cargo,lint 用 clippy(CI 中将警告视为错误),格式化用 rustfmt,测试用内置 #[test] 与 cargo test,可用 mockall 模拟 trait。
- 常用依赖:异步 tokio、futures;Web axum 或 actix-web;序列化 serde、serde_json;错误 anyhow、thiserror;日志 tracing、tracing-subscriber;配置 config。
- 安全与性能:仅在需要所有权时用 String,函数参数优先 &str;避免 unsafe,确需使用时以 // SAFETY: 注释说明;已知大小时用 Vec::with_capacity(n) 预分配。
使用方式:推荐项目结构包含 Cargo.toml、src/(main.rs、lib.rs、bin/、models/、error.rs、utils.rs)与 tests/ 集成测试目录。实现流程为先定义 struct 与 enum,再用 trait 描述行为,然后为类型实现 trait,在 main.rs 或 lib.rs 接线,最后编写单元测试与集成测试。
限制与反模式:应避免过度使用 Box<dyn Trait>(优先静态分发的泛型)、忽略 Result、全局可变状态(改用依赖注入或 actor 模式)。资料未提供该技能的具体安装命令、收费信息或更详细的使用步骤。