14 คะแนน โดย xguru 2021-01-04 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

สรุป idiom, design pattern และ anti-pattern โดยอาศัยเอกลักษณ์และการออกแบบของภาษา Rust

Idioms

  1. การต่อสตริงด้วย format!

  2. Constructor

  3. Default Trait

  4. คอลเลกชันคือ Smart Pointer

  5. Finalisation ใน Destructor

  6. mem::replace(_)

  7. Dynamic Dispatch บนสแตก

  8. การวนซ้ำผ่าน Option

  9. ส่งตัวแปรเข้าไปยัง Closure

  10. ความเป็นส่วนตัวเพื่อการขยายต่อ

  11. การกำหนดค่าเริ่มต้นของ doc ได้อย่างง่ายดาย

  12. การเปลี่ยนให้เป็น mutable ชั่วคราว

Design Patterns

  1. Builder

  2. การประกอบ Struct

  3. Fold

  4. Newtype

  5. RAII Guards

  6. ควรใช้ Crate ขนาดเล็ก

  7. จำกัด unsafety ให้อยู่ในโมดูลขนาดเล็ก

  8. Visitor

Anti-patterns

  1. #[deny(warnings)]

  2. Deref Polymorphism

1 ความคิดเห็น

 
xguru 2021-01-04

มีคำแนะนำว่าวิธีที่สบายขึ้นเล็กน้อยในการเรียนรู้แพตเทิร์นของ Rust คือ

ให้ใส่

#![warn(clippy::all)]

ไว้ตอนต้นของ crate ที่เขียนขึ้น

ซึ่งโดยพื้นฐานแล้วเป็นออปชันสำหรับเปิดใช้ linter ของ Rust เพื่อตรวจสอบโค้ดและแสดงคำแนะนำที่หลากหลาย

https://github.com/rust-lang/rust-clippy

ถ้าดูที่นี่จะเห็นว่ามี lint ที่ลงทะเบียนไว้มากกว่า 400 รายการ