Rustfmtで秩序を!ソフトウェアエンジニアが知るべきコード整形とcargo fmt


Rustfmtで秩序を!ソフトウェアエンジニアが知るべきコード整形とcargo fmt

rust-lang/rustfmt

2025-10-15

ダース・ベイダー
ルーク、聞くがいい。お前が書いたあのRustコードだ。インデントはバラバラ、スペースの入れ方も一貫性がない。見るに堪えん!

ルーク・スカイウォーカー
父上…。でも、動くことは動くんですよ。それに、急いでいたんです!

ダース・ベイダー
動くだけではダメだ、ルーク。プロジェクトでは一貫性こそが重要。多くの開発者が関わる時、コードの見た目が揃っていないと、バグを見つけるのも、機能を追加するのも困難になる。これではダークサイド…いや、メンテナンス地獄に落ちるぞ。

ルーク
メンテナンス地獄は嫌ですね…。じゃあ、どうすればいいんですか?

ダース・ベイダー
そこで登場するのが、rust-lang/rustfmtだ。これはRustのコードを自動で標準的かつ一貫したスタイルに整形してくれるツールだ。これこそが、Rust開発における秩序をもたらす!

ルーク
自動で整形してくれるのは便利そうですが、具体的に僕たちエンジニアにどんな良いことがあるんでしょう?

ダース・ベイダー
いい質問だ。このツールがもたらすメリットは計り知れない。

ベイダー
整形ルールに関するコメントや指摘が不要になる。コードレビューで本質的なロジックの改善に集中できる。「ここインデントが違う」「スペースが多い」といった雑念から解放されるのだ。

ルーク
チーム全員が同じフォーマットで書くことになるわけですね!

ベイダー
そうだ。誰が書いても同じスタイルになる。プロジェクト全体で可読性が向上し、新しいメンバーもすぐにコードベースに慣れることができる。まるで帝国軍の行進のように、完璧な統一感だ!

ルーク
手動で整形する手間がなくなるのは本当に助かります。僕は新しい機能の実装にフォースを集中させたい!

ベイダー
その通り。機械に任せられる作業は任せるべきだ。開発者はより価値ある創造的な作業に時間を費やせる。

ベイダールーク、導入は非常に容易だ。Rustのパッケージ管理ツールcargoを使えば、すぐに使える。

通常、Rustの環境をセットアップしていれば、rustfmtは既にrustupでインストールされているはずだ。もし入っていなければ、このコマンドを打つがいい。

rustup component add rustfmt

ルーク
ええと、このコードを直したいんです。ちょっとスペースが多かったり、改行が不自然だったりして。

fn  main ( ) {
    let  x = 10;
     if x > 5 {
        println! ("{}","x is large");
    }
}

ダース・ベイダー実行はcargo fmtコマンドだ。プロジェクトのルートディレクトリで実行するがいい。

cargo fmt

ベイダー
見事だ!rustfmtの圧倒的な力がコードに秩序をもたらした。

fn main() {
    let x = 10;
    if x > 5 {
        println!("{}", "x is large");
    }
}

(ルークのコードの不必要な空白や改行が全て修正され、標準的なRustのスタイルになった。)

ルーク
父上、でも、チームによっては、標準のルールではなく独自のルールを使いたい場合もあるんじゃないですか?

ダース・ベイダーその通りだ。rustfmtは柔軟性も兼ね備えている。プロジェクトのルートにrustfmt.tomlという設定ファイルを作成することで、特定のスタイルオプションを上書きできる。

例えば、文字列の幅を80文字ではなく120文字に設定したい場合などだ。

# rustfmt.toml
max_width = 120

ベイダー
これにより、プロジェクトの独自のフォースに従ったコード整形が可能となる。

ダース・ベイダー
ルーク、覚えておくがいい。rustfmtを使うことは、効率と一貫性を追求するプロのエンジニアにとって義務だ。これにより、お前はコードの美しさと品質を高め、銀河系一のデベロッパーに近づくことができる。

ルーク
分かりました、父上!僕のコードはもうダークサイドに迷い込みません!rustfmtの力で、クリーンなコードを書き続けます!


rust-lang/rustfmt




自分だけのTeamViewerを構築!RustDeskで始めるセキュアなリモートデスクトップ入門

アシスタントの私と一緒に、今回は「RustDesk」という、とっても便利なツールを使って、リモートデスクトップを自在に操る方法をご紹介していきますよ。想像してみてください。あなたは今、家でくつろいでいるとします。ふと、職場のPCに置いてきた大事なファイルが必要になった!なんてこと、ありませんか?


戦国エンジニア入門:Rust製AIツール vibeで音声データに革命を

さあ、時は戦乱の世、まさに百花繚乱の技術が鎬を削る時代。 あなたの領地(プロジェクト)では、日々、多種多様な言葉(音声データ)が飛び交っています。 しかし、その言葉を文字として記録する作業は、手間暇かかる退屈な作業…まるで、毎日、何千何万もの文字を手書きで書き写すかのようです。


Rustで爆速OCR・AI基盤を構築!次世代ベクトル検索エンジン「RuVector」徹底解説

「RuVector」をエンジニア向けに一言で言うなら、「Rustの爆速性能を活かした、学習機能付きのベクトル検索・グラフ解析エンジン」です。OCR(文字認識)やAIと組み合わせて使うことを想定されており、例えるなら「見たものを即座に理解し、関連性を整理して、超高速で引き出せる記憶装置」のような存在です。


AIアプリケーション開発の新常識:chroma-core/chroma入門

「煽り運転に注意」という例えは面白いですね。それになぞらえると、chroma-core/chromaは「AIの安全運転を助ける、賢いカーナビ」のような存在です。AI、特に文章や画像のような非構造化データを扱うAIアプリケーションを開発していると、大量のデータの中から、AIにとって意味のある情報(例えば、特定のキーワードを含む文章や、似たような画像)を素早く見つけ出す必要が出てきます。


開発効率爆上げ!Rust製P2Pライブラリ iroh徹底解説

レジ「いらっしゃいませ~!」あなた「(スマホ片手に)いや~、困ったなぁ。最近、プロジェクトでデータ共有するのに、DropboxとかGoogle Driveとか使ってるんですけど、なんかこう、もっとスマートな方法ないかなって。」レジ「おや、それはお困りですね!もしかして、ソフトウェアエンジニアさんですか?」


Rust製ゲームエンジン「Bevy」入門:シンプルなレシピで始めるゲーム開発

Bevyは、Rustという銘柄の最高級スピリッツを使って作られた、とびきりシンプルで爽やかなゲームエンジンです。普通のゲームエンジンは、いろいろな素材が混ざり合って、ちょっと複雑で重たいカクテルになりがちですが、Bevyはまるでジンとトニックのように、シンプルだけど奥深い味わいが特徴です。


Web技術を活かす!Tauri (Rust & WebView) で叶える高性能・軽量クロスプラットフォーム開発入門

Tauriは、Rust(ラスト)というプログラミング言語とウェブ技術(HTML、CSS、JavaScript/TypeScriptなど)を組み合わせて、小さくて速く、そして安全なアプリケーションを作るためのフレームワークなの。Tauriは、ウェブエンジニアリングのスキルを持っているあなたにとって、まさに「魔法の杖」のようなツールよ。


宇宙飛行士のためのAIツールキット:TensorZeroでLLM開発を加速せよ

今回紹介するのは、「TensorZero」という、LLMアプリケーション開発のためのオールインワンの宇宙船だ。このツールを使いこなせば、君はより少ない燃料(労力)で、より遠い宇宙(成功)へと到達できるはずだ。ソフトウェアエンジニアリングの観点から見ると、TensorZeroはLLM(大規模言語モデル)を扱うプロジェクトにおける、「信頼性と効率」を劇的に向上させるための、まるで宇宙船のコックピットのような存在だ。


【エンジニア必携】AIコードアシスタントを「一元管理」!cc-switchで開発フローを劇的に効率化

コントのようなやり取りで解説するのは少し難しいですが、「farion1231/cc-switch」というツールの、ソフトウェアエンジニアにとっての価値、導入方法、そしてサンプルコードの考え方を、コンビニ店員と常連のお客さんのようなフレンドリーな会話調で、分かりやすく丁寧にお伝えしますね!


Waylandの新時代へ!niriの「スクロール可能タイル」がもたらす巨大ワークスペース活用術

「体操のお兄さん」風に、元気よく、そしてソフトウェアエンジニアの視点から「YaLTeR/niri」がどう役立つのか、導入方法やサンプルコードの例まで、分かりやすく、フレンドリーに解説しますね!みんな、こんにちはー!今日のデスクトップ体操のお時間だよ!担当は、みんなのデスクワークをサポートする、元気いっぱいの(仮称)AIアシスタントだよ!