inflearn logo
知識共有
inflearn logo

Rustクリーンコード:イディオムと設計パターン

Rustらしいコードを書くためのパターンとアンチパターン全40講。ジェネリック・トレイト・イテレータからビルダー・オブザーバー・ステートマシン、unsafeやcloneの乱用まで、本の目次に沿って解説します。

2名 が受講中です。

難易度 中級以上

受講期間 無制限

Rust
Rust
Design Pattern
Design Pattern
rust-traits
rust-traits
generic
generic
macro
macro
Rust
Rust
Design Pattern
Design Pattern
rust-traits
rust-traits
generic
generic
macro
macro

受講後に得られること

  • ジェネリック、Option、トレイト境界、トレイトオブジェクトを目的に応じて選ぶ

  • パターンマッチング、?演算子、クロージャ、イテレータで処理の流れを簡潔かつ安全に記述する

  • RAII、値渡し/参照渡し、コンストラクタ、エラー処理、グローバル状態の扱いに関するイディオムを身につける

  • 宣言的・手続き型マクロ、ビルダー、フルーエントインターフェース、オブザーバー、コマンド、ニュ​​ータイプパターンを実装する

  • ライブラリAPIを設計し、rustdocとテストで磨き上げる

  • unsafe、unwrap、過度なclone、Deref多相性などのアンチパターンを避ける

[必読] この講義は『ラスト・クリーンコード』の書籍が必ず必要です。
- スライドと動画にはソースコードを掲載せず、本の該当するリスト番号を開いて確認しながら進めます。
- 本を購入しないとコードリストを確認できず、講義についていくことができません。本を購入してから受講してください。
- 本はこの講義に含まれておらず、別途購入していただく必要があります。

📕 必須テキストのご案内
- 書籍名:《Rustクリーンコード》(原書:Idiomatic Rust, Manning Publications, 2024)
- 著者:ブレンダン・マシューズ(Brenden Matthews)
- 翻訳者:ユン・インド(本講義の知識共有者が直接翻訳しました)
- 出版社:株式会社ジェイパブ(www.jpub.kr)
- 発行:2025年9月4日(初版第1刷)
- ISBN: 979-11-94587-32-3 (93000)
- 分量:約300ページ
- 書籍の価格は本の裏表紙に記載されており、この講義の料金には書籍は含まれていません。
- 本講義は書籍の章・節とコード一覧の番号(例:一覧2.1)を基準に進めるため、書籍がないとコードを確認できません。
- 購入先:書店(オンライン・実店舗)で上記の書籍名またはISBNを検索して購入してください。

この講義では、Rustでコードを"書ける"段階から"Rustらしく書く"段階へ移行するためのパターンとアンチパターンを、全40回にわたってまとめています。

構成
- パート1(1~12講):ジェネリックとOption、マーカー・ファントム型、トレイトとトレイトオブジェクト、パターンマッチング、?演算子、クロージャ、イテレーター
- パート2(13~28講):RAII、値と参照の受け渡し、コンストラクター、エラー処理、グローバル状態、マクロ、ビルダー・フルーエント・オブザーバー・コマンド・ニュータイプパターン、ライブラリ設計、rustdoc、テストとデバッグ
- パート3(29~35講):定数ジェネリック、Extension・Blanket・Markerトレイト、参照オブジェクト、トレイト状態機械、コルーチン、手続き型マクロとプレリュード
- パート4(36~40講):不変性、Cow、unsafe、unwrap・Vec・cloneの乱用、Derefポリモーフィズムとスマートポインターの乱用

講義の特徴
- スライドにはソースコードを掲載せず、概念と構造を説明します。コードは本の該当ページとリスト番号をたどって、直接開いて確認する形式です。
- 各講義が本の節・コード番号に対応しているため、復習する箇所をすぐに見つけられます。

受講前の参考
- この講義は『Rustクリーンコード』(Jpub)の関連講義であり、書籍の購入が必須です。書籍がないとコード一覧を確認できません。
- 料金には書籍代は含まれていません。

この講義が必要な理由
Rustは、コンパイルできるコードと読みやすいコードの間に大きな隔たりがある言語です。同じ問題でも、cloneで解決することも、参照とライフタイムで解決することも、トレイトオブジェクトやジェネリクスで実装することもできます。この講義では、それぞれの選択肢がいつ適切なのか、その判断基準を身につけます。

この講義で扱わないこと
- Rust入門の文法と所有権の基礎説明
- 非同期ランタイムや特定のWebフレームワークの使い方
- ソースコード全文(書籍の該当リストを案内します)

受講後にできること
受講を終えると、コードレビューで「これはRustらしいか」を根拠を示して判断できるようになります。ビルダーやニュ​​ータイプのようなパターンを必要な箇所にのみ適用し、unsafeやunwrapの使用を減らすための基準をチームに提案できるようになります。

こんな方に
おすすめです

学習対象は
誰でしょう?

  • Rustの文法は知っているが、「Rustらしく」書く基準がない開発者

  • C++や他の言語のパターンをRustに移そうとして行き詰まった開発者

  • ライブラリやチームのコードベースの設計を整理したいRust開発者

前提知識、
必要でしょうか?

  • Rustの基本文法(所有権、構造体、列挙型、トレイト)を一度学習したことを前提とします。

こんにちは
devbullです。

キャリア認証

170

受講生

15

受講レビュー

3

回答

4.3

講座評価

5

講座

Rustacean & Pythonista

カリキュラム

全体

40件 ∙ (6時間 8分)

講座掲載日: 
最終更新日: 

受講レビュー

まだ十分な評価が集まっていない講座です。
ぜひ最初のレビューをお寄せください。

devbullの他の講座

知識共有者の他の講座はこちら

似ている講座

同じ分野の他の講座を見てみましょう!

新規会員登録で25%OFF

¥2,668

25%

¥3,558