TL;DR
- Google で Rust の実装に携わってきた著者が、Rust らしいプログラミングの方法を 35 項目にまとめた本である。
- 所有、借用、生存期間、トレイトといった Rust 特有の概念を具体例で説明し、Cargo による依存ライブラリの管理や Clippy などのエコシステムの使い方も扱う。
対象読者
Rust の入門書を読み終えた読者向けの本である。
https://www.oreilly.co.jp/books/9784814400942/
原書は Web でも公開されている: https://www.lurklurk.org/effective-rust/title-page.html
目次
型
- データ構造を表現するために型システムを用いよう
- 型システムを用いて共通の挙動を表現しよう
- OptionとResultに対してはmatchを用いずに変換しよう
- 標準のError型を使おう
- 型変換を理解しよう
- newtypeパターンを活用しよう
- 複雑な型にはビルダを使おう
- 参照型とポインタ型に慣れよう
- 明示的なループの代わりにイテレータ変換を使用することを検討しよう
トレイト
- 標準トレイトに習熟しよう
- RAIIパターンにはDropトレイトを実装しよう
- ジェネリクスとトレイトオブジェクトのトレードオフを理解しよう
- デフォルト実装を用いて、実装しなければならないトレイトメソッドを最小限にしよう
さまざまなコンセプト
- 生存期間を理解しよう
- 借用チェッカを理解しよう
- unsafeコードを書かないようにしよう
- 状態共有並列実行には気を付けよう
- Don't panic
- リフレクションを避けよう
- 過剰な最適化の誘惑を退けよう
依存ライブラリ
- セマンティックバージョン(SemVer)を理解しよう
- 可視範囲を最小化しよう
- ワイルドカードインポートを避けよう
- APIに型が登場する依存ライブラリは再エクスポートしよう
- 依存グラフを管理しよう
- 忍び寄るフィーチャに注意しよう