核心用法
本 skill 为 Rust 系统级开发提供完整模式参考,覆盖从语言基础到生产部署的全链路场景:
1. 所有权与借用模型 — 将 Rust 核心概念类比为"产权契约",通过 move/不可变借用/可变借用的清晰心智模型,帮助开发者快速判断何时 clone、何时借用、何时转移所有权。
2. 错误处理策略 — 区分 thiserror(库代码,提供可 match 的错误变体)与 anyhow(应用代码,添加上下文链)的使用场景,附带 ? 操作符最佳实践。
3. 异步运行时 Tokio — 提供多线程运行时配置、select! 竞速、超时处理、阻塞代码隔离(spawn_blocking)等关键模式,明确禁止在 async fn 中调用同步 I/O 的反模式。
4. Web 开发 Axum — 完整路由、提取器、中间件、共享状态(Arc<AppState>)的代码模板,可直接用于生产服务搭建。
5. 并发原语选择 — Arc<Mutex<T>>、RwLock、channels、Rayon 并行迭代的适用场景对比,推荐消息传递优于共享状态。
6. 数据库访问 — SQLx(编译期检查 SQL)、Diesel(同步类型安全查询构建)、SeaORM(全异步 ORM)的三方选型指南。
7. CLI 与跨语言 — Clap v4 derive API 快速构建命令行工具,PyO3 开发 Python 扩展模块并通过 maturin 构建发布。
8. Rust 2024 新特性 — 原生 async trait、let chains 语法等现代写法。
显著优点
- 代码即文档:所有模式均附带可直接运行的代码片段,复制即可使用
- 决策导向:明确给出"何时用 A 而非 B"的选择依据(如 thiserror vs anyhow、SQLx vs ORM)
- 反模式清单:表格化列出常见错误及正确替代方案
- 生产就绪:针对 Tokio 阻塞陷阱、unwrap 滥用等真实痛点提供解决方案
潜在局限
- 假设读者有基础:需已了解 Rust 基本语法,非零基础入门材料
- 生态快速演进:部分库版本(如 Axum、SQLx)可能随社区更新产生 API 差异
- 未覆盖嵌入式/无 std:专注应用层开发,未涉及 no_std 或裸机场景
适合人群
- 从其他语言(Go/Node/Python)迁移至 Rust 的后端开发者
- 需要为 Python 生态编写高性能扩展的工程师
- 维护生产级 Rust 服务、希望规范团队代码风格的 Tech Lead
常规风险
- unsafe 代码未涉及:本 skill 聚焦 safe Rust,如涉及 FFI 或底层内存操作需额外学习
- 异步调试复杂度:Tokio 运行时问题(task 泄漏、阻塞线程池)需要配合 tracing 等工具诊断
- 编译时 SQL 检查的维护成本:SQLx 的 query! 宏要求数据库连接,CI 环境需配置数据库服务