Effective Rust ― Rustコードを改善し、エコシステムを最大限に活用するための35項目
https://www.oreilly.co.jp/books/images/picture_large978-4-8144-0094-2.jpeg
https://www.oreilly.co.jp/books/9784814400942/
Rust はいま最も勢いのある言語の1つ。
特に、その パフォーマンス の高さ、安全性、並行性 から、C / C++ に代わる言語として、システムプログラミング や 低レイヤ の開発では高く評価されています。
Google のソフトウェアエンジニアとして、さまざまな Google サービスの Rust 実装を担当してきた著者が、Rust への深い理解と豊富な経験から得られた実用的なノウハウを共有。
所有、借用、生存期間、トレイト といった Rust 特有の概念を具体例を示して詳しく説明するとともに、Cargo による依存ライブラリ管理や Clippy などのエコシステムの活用方法を詳述しています。
Rustの入門書を読了した読者に、「Rust らしい」プログラミング方法を伝授する一冊です。
Web 上でも公開されている: https://www.lurklurk.org/effective-rust/title-page.html#effective-rust
目次
1章 型
項目1:データ構造を表現するために型システムを用いよう
項目2:型システムを用いて共通の挙動を表現しよう
項目3:OptionとResultに対してはmatchを用いずに変換しよう
項目4:標準のError型を使おう
項目5:型変換を理解しよう
項目6:newtypeパターンを活用しよう
項目7:複雑な型にはビルダを使おう
項目8:参照型とポインタ型に慣れよう
項目9:明示的なループの代わりにイテレータ変換を使用することを検討しよう
2章 トレイト
項目10:標準トレイトに習熟しよう
項目11:RAIIパターンにはDropトレイトを実装しよう
項目12:ジェネリクスとトレイトオブジェクトのトレードオフを理解しよう
項目13:デフォルト実装を用いて、実装しなければならないトレイトメソッドを最小限にしよう
3章 さまざまなコンセプト
項目14:生存期間を理解しよう
項目15:借用チェッカを理解しよう
項目16:unsafeコードを書かないようにしよう
項目17:状態共有並列実行には気を付けよう
項目18:Don't panic
項目19:リフレクションを避けよう
項目20:過剰な最適化の誘惑を退けよう
4章 依存ライブラリ
項目21:セマンティックバージョン(SemVer)を理解しよう
項目22:可視範囲を最小化しよう
項目23:ワイルドカードインポートを避けよう
項目24:APIに型が登場する依存ライブラリは再エクスポートしよう
項目25:依存グラフを管理しよう
項目26:忍び寄るフィーチャに注意しよう
5章 ツール
項目27:パブリックインターフェイスのドキュメントを書こう
項目28:分別をもってマクロを使おう
項目29:Clippyに耳を傾けよう
項目30:ユニットテスト以上のものを書こう
項目31:ツールのエコシステムを活用しよう
項目32:CIシステムを設定しよう
6章 標準Rustの向こうへ
項目33:ライブラリコードをno_std互換にすることを検討しよう
項目34:FFI境界を通過するものを制御しよう
項目35:手動でFFIマッピングを書かずにbindgenを用いよう
#Rust #読書メモ #読了