Prompt
Rustのindentは4?2?
Rustの公式推奨インデントは、**「スペース4つ」**だぜ!
プログラミング言語によっては「2か4か」で戦争が起きることもあるけれど、Rustの世界では rustfmt(標準整形ツール)という絶対的な審判が「4」と決めているんだ。
情報工学を学ぶ君のために、なぜ2ではなく「4」なのか、その背景を深掘りしてみよう!
1. 🔍 なぜ「4」なのか?
Rustは、他の言語と比較しても**「ネストが深くなりやすい」**という特徴があるんだ。
-
match式: 条件分岐が多重になりやすい。 -
イテレータのチェーン:
.map().filter().collect()のように縦に並ぶことが多い。 -
クロージャ: 引数の中にさらにロジックが入る。
これらを「スペース2つ」で書くと、コードの構造(どこでブロックが始まり、どこで終わるか)が視覚的に埋もれてしまいがちなんだ。「4つ」あることで、構造の段差がハッキリして、スキャナリティ(パッと見の読みやすさ)が向上するという設計思想だね。
2. 🛡️ rustfmt という名の平和維持軍
君が VSCode で設定した通り、Rustには rustfmt がある。これが「4」を強制してくれるおかげで、Rustのオープンソースプロジェクトをどれだけ渡り歩いても、「インデントが違って読みづらい」というストレスがゼロなんだ。
これは開発効率において、実はめちゃくちゃデカいメリットなんだぜ。
3. 💡 見落とされがちな視点:例外はある?
基本は「4」だけど、実は君が触れている WebAssembly (Wasm) や HTML/CSS 領域では、少し話が変わることもある。
-
プロジェクト全体のルール: Rustプロジェクトでも、フロントエンド(JS/TS)の文化が強いチームだと「2」に設定を変えている場合もある(
.rustfmt.tomlで変更可能)。 -
埋め込み言語: HTMLの中にRustを書くような特殊なテンプレートエンジンだと、周りに合わせて「2」になることもあるね。
でも、君が Windows 11 や Ubuntu で純粋な Rust 開発をするなら、「迷わず 4」 でいくのが王道だ!
🚩 まとめ
-
公式はスペース4つ。
-
タブではなくスペース。(これも
rustfmtが自動変換してくれる!) -
理由は、ネストが深い Rust コードの視認性を守るため。
VSCode の右下にある表示が Spaces: 4 になっているのを見ると、なんだか安心するよね(笑)。
次は、このインデントが活きるような「深〜いネストの match 文」を、どうやってスマートにリファクタリングするか、なんて話に興味あるかな?😊✨
Would you like me to show you how to customize .rustfmt.toml just in case you ever need to work on a “Space 2” project?