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?