智写AI
Effective Rust
1.
Cover
2.
Introduction
3.
Types
3.1.
Item 1: Use the type system to express your data structures
3.2.
Item 2: Use the type system to express common behaviour
3.3.
Item 3: Avoid matching Option and Result
3.4.
Item 4: Prefer idiomatic Error variants
3.5.
Item 5: Familiarize yourself with standard traits
3.6.
Item 6: Understand type conversions
3.7.
Item 7: Embrace the newtype pattern
3.8.
Item 8: Use builders for complex types
3.9.
Item 9: Familiarize yourself with reference and pointer types
3.10.
Item 10: Consider using iterator transforms instead of explicit loops
3.11.
Item 11: Implement the Drop trait for RAII patterns
3.12.
Item 12: Prefer generics to trait objects
3.13.
Item 13: Use default implementations to minimize required trait methods
4.
Concepts
4.1.
Item 14: Understand lifetimes
4.2.
Item 15: Understand the borrow checker
4.3.
Item 16: Avoid writing unsafe code
4.4.
Item 17: Be wary of shared-state parallelism
4.5.
Item 18: Don’t panic
4.6.
Item 19: Avoid reflection
4.7.
Item 20: Avoid the temptation to over-optimize
5.
Dependencies
5.1.
Item 21: Understand what semantic versioning promises
5.2.
Item 22: Minimize visibility
5.3.
Item 23: Avoid wildcard imports
5.4.
Item 24: Re-export dependencies whose types appear in your API
5.5.
Item 25: Manage your dependency graph
5.6.
Item 26: Be wary of feature creep
6.
Tooling
6.1.
Item 27: Document public interfaces
6.2.
Item 28: Use macros judiciously
6.3.
Item 29: Listen to Clippy
6.4.
Item 30: Write more than unit tests
6.5.
Item 31: Take advantage of the tooling ecosystem
6.6.
Item 32: Set up a continuous integration (CI) system
7.
Beyond Standard Rust
7.1.
Item 33: Consider making library code no_std compatible
7.2.
Item 34: Control what crosses FFI boundaries
7.3.
Item 35: Prefer bindgen to manual FFI mappings
8.
Index
Light
Rust
Coal
Navy
Ayu
35 Specific Ways to Improve Your Rust Code
Source link
Previous
Next