Summary 封面 译序 介绍 类型 第 1 条:使用类型系统表达数据结构 第 2 条:使用类型系统表达常见行为 第 3 条:优先选择 Option 和 Result 转换,而非显式 match 表达式 第 4 条:优先使用惯用的错误类型 第 5 条:理解类型转换 第 6 条:拥抱 newtype 模式 第 7 条:对复杂的类型使用构造器 第 8 条:熟悉引用和指针类型 第 9 条:考虑使用迭代器转换代替显式循环 Traits 第 10 条:熟悉标准库的 traits 第 11 条:为 RAII 模式实现 Drop trait 第 12 条:理解泛型与 trait 对象之间的权衡 第 13 条:使用默认实现来减少必需实现的 trait 方法 概念 第 14 条:理解生命周期 第 15 条:理解借用检查器 第 16 条:避免写 unsafe 代码 第 17 条:对共享状态的并行性保持警惕 第 18 条:不要 panic 第 19 条:避免反射 第 20 条:避免过度优化的诱惑 依赖 第 21 条:理解语义化版本 第 22 条:最小化可见性 第 23 条:避免通配符导入 第 24 条:重新导出在 API 中所用的依赖项类型 第 25 条:管理依赖项关系图 第 26 条:警惕 feature 蔓延 工具 第 27 条:为公共接口撰写文档 第 28 条:在合适的时候使用宏 第 29 条:遵循 Clippy 的建议 第 30 条:不仅仅是单元测试 第 31 条:使用生态系统工具 第 32 条:搭建持续集成(CI)系统 超出 Rust 标准 第 33 条:考虑使库代码与 no_std 兼容 第 34 条:控制跨越 FFI 边界的内容 第 35 条:优先使用 bindgen 而不是手动 FFI 映射 后记