Skip to content

Foundations Part 3 Idiomatic

Từ "viết được code" đến "viết code chuẩn Rust" (Idiomatic Rust)

💡 MỤC TIÊU PART 3

Ở Part 2, bạn đã học cách làm cho compiler vui lòng (Ownership). Ở Part 3, bạn sẽ học cách làm cho đồng nghiệp (và chính bạn trong tương lai) vui lòng bằng cách viết code mạnh mẽ, tái sử dụng tốt và clean.

Nội dung Module

1. Error Handling Architecture

Rust không dùng Exception. Rust dùng hệ thống type để ép bạn xử lý lỗi:

  • Recoverable: Result<T, E> và toán tử ?.
  • Unrecoverable: panic! cho bug nghiêm trọng.
  • Idiomatic: Khi nào nên undo_wrap()? Khi nào nên propagate?

2. Generics & Traits

Không lặp lại code với Generics và định nghĩa behavior với Traits:

  • Generics: Zero-cost abstractions.
  • Traits: Giống Interface nhưng mạnh hơn.
  • Trait Bounds: T: Display + Clone.

3. Common Collections

Bộ công cụ tiêu chuẩn std::collections:

  • Vec<T>: Dynamic array trên heap.
  • HashMap<K, V>: Key-value storage an toàn.
  • String Complexity: Tại sao String trong Rust phức tạp hơn C#/Java? (UTF-8).

4. Functional Features

Tư duy Functional Programming trong Rust:

  • Closures: Functions capturing environment.
  • Iterators: map, filter, fold — nhanh hơn loop truyền thống.

Roadmap học tập

Tại sao Idiomatic Rust quan trọng?

Code C++ dịch sang Rust từng dòng (line-by-line translation) thường sẽ:

  1. Chậm hơn
  2. Khó đọc hơn
  3. "Đánh nhau" với borrow checker

Idiomatic Rust tận dụng Iterators, Pattern Matching và Error Handling để code ngắn gọn, an toàn và nhanh.


Bắt đầu

Bước tiếp theo

  1. 🛡️ Error Handling — Viết code không bao giờ crash
  2. 🧬 Generics & Traits — Viết code tái sử dụng
  3. 📦 Collections — Quản lý data structures
  4. Functional Features — Viết code ngắn gọn & nhanh