Idiomatic Rust 風格
學習 Rust 的慣用寫法、社群最佳實踐和編碼哲學,編寫更符合 Rust 風格的程式碼
Idiomatic Rust 風格
📖 學習目標
本模組將引導你深入理解 Rust 的「慣用」風格,學習社群推崇的最佳實踐和編碼哲學,幫助你編寫出更符合 Rust 特性、更易讀、更高效的程式碼。
🎯 什麼是 Idiomatic Rust?
1. Rustacean 編碼哲學
- 沒有垃圾收集器的記憶體安全: 擁抱所有權和借用系統。
- 零成本抽象: 使用高階抽象而沒有效能損失。
- 顯式優於隱式: 傾向於顯式行為。
2. 擁抱所有權系統
- 在可能的情況下,優先選擇借用而不是所有權。
- 明智地使用
clone()
。 - 理解
String
和&str
之間的區別。
3. 零成本抽象
- 使用迭代器和閉包進行高效的資料處理。
- 利用特徵實現多態。
4. 錯誤處理哲學
- 對可恢復的錯誤使用
Result
,對不可恢復的錯誤使用panic!
。 - 避免在函式庫程式碼中使用
unwrap()
和expect()
。
📝 編碼規範與最佳實踐
1. 命名規範
- 對變數和函式使用
snake_case
。 - 對型別使用
PascalCase
。 - 對常數使用
SCREAMING_SNAKE_CASE
。
2. 程式碼格式化
- 使用
rustfmt
自動格式化你的程式碼。
3. 註釋與文件
- 對文件註釋使用
///
。 - 對常規註釋使用
//
。 - 為公共 API 編寫清晰簡潔的文件。
4. 錯誤處理模式
- 使用
?
操作符進行錯誤傳播。 - 為你的函式庫定義自訂錯誤型別。
5. 並發與異步模式
- 使用通道進行執行緒間通訊。
- 使用
Arc<Mutex<T>>
實現共享狀態。
6. 特徵與泛型使用
- 使用特徵定義共享行為。
- 使用泛型編寫可重用程式碼。
🛠️ 常用工具與庫
1. clippy
一系列用於捕捉常見錯誤和改進你的 Rust 程式碼的 lint。
2. rustfmt
一個根據官方風格指南格式化 Rust 程式碼的工具。
3. rustdoc
一個從你的原始碼產生文件的工具。
4. 常用 crates
serde
用於序列化和反序列化。tokio
用於異步程式設計。clap
用於命令列參數解析。
📝 總結
本模組介紹了 idiomatic Rust 的概念,並提供了一套最佳實踐和工具來幫助你編寫更好的 Rust 程式碼。透過遵循這些指南,你不僅可以編寫出正確的程式碼,還可以使其易於閱讀、維護和高效。
學習完成: 恭喜你完成了 JavaScript 到 Rust 的學習之旅!