Rustのデザインパターン集
(rust-unofficial.github.io)Rust言語の特徴や設計を活かしたイディオム、デザインパターン、アンチパターンの整理
Idioms
-
format!による文字列連結 -
コンストラクタ
-
Defaultトレイト -
コレクションはスマートポインタ
-
デストラクタでのファイナライズ
-
mem::replace(_) -
スタック上の動的ディスパッチ
-
Optionの反復処理 -
クロージャに変数を渡す
-
拡張性のためのプライバシー
-
簡単なドキュメント初期化
-
一時的な可変性
Design Patterns
-
Builder
-
構造体を合成する
-
Fold
-
Newtype
-
RAIIガード
-
小さなクレートを優先する
-
unsafe を小さなモジュールに閉じ込める
-
Visitor
Anti-patterns
-
#[deny(warnings)] -
Deref多相性
1件のコメント
Rustパターンを少し楽に身につける方法として、
作成したCrateの冒頭に
#![warn(clippy::all)]を入れるとよい、という勧めがあるようです。これは基本的にRustのlinterを有効にして、コードをチェックし、さまざまな推奨事項を表示するためのオプションです。
https://github.com/rust-lang/rust-clippy
ここを見ると、400個を超えるLintが登録されています。