แพตเทิร์นการออกแบบของ Rust
(rust-unofficial.github.io)สรุป idiom, design pattern และ anti-pattern โดยอาศัยเอกลักษณ์และการออกแบบของภาษา Rust
Idioms
-
การต่อสตริงด้วย
format! -
Constructor
-
DefaultTrait -
คอลเลกชันคือ Smart Pointer
-
Finalisation ใน Destructor
-
mem::replace(_) -
Dynamic Dispatch บนสแตก
-
การวนซ้ำผ่าน
Option -
ส่งตัวแปรเข้าไปยัง Closure
-
ความเป็นส่วนตัวเพื่อการขยายต่อ
-
การกำหนดค่าเริ่มต้นของ doc ได้อย่างง่ายดาย
-
การเปลี่ยนให้เป็น mutable ชั่วคราว
Design Patterns
-
Builder
-
การประกอบ Struct
-
Fold
-
Newtype
-
RAII Guards
-
ควรใช้ Crate ขนาดเล็ก
-
จำกัด unsafety ให้อยู่ในโมดูลขนาดเล็ก
-
Visitor
Anti-patterns
-
#[deny(warnings)] -
Deref Polymorphism
1 ความคิดเห็น
มีคำแนะนำว่าวิธีที่สบายขึ้นเล็กน้อยในการเรียนรู้แพตเทิร์นของ Rust คือ
ให้ใส่
#![warn(clippy::all)]ไว้ตอนต้นของ crate ที่เขียนขึ้น
ซึ่งโดยพื้นฐานแล้วเป็นออปชันสำหรับเปิดใช้ linter ของ Rust เพื่อตรวจสอบโค้ดและแสดงคำแนะนำที่หลากหลาย
https://github.com/rust-lang/rust-clippy
ถ้าดูที่นี่จะเห็นว่ามี lint ที่ลงทะเบียนไว้มากกว่า 400 รายการ