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




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

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


コードの悩みを解決!ast-grepで始める効率的なリファクタリング

彼女 「あ〜、もう!明日のお出かけ、何着ていこう…?この服もなんだか違うし、あの服も合わせにくいし…もう嫌になっちゃう!」彼 「また悩んでるのかい?そんな時は僕に任せてよ。僕の持ってる『構造的クローゼット検索ツール』を使えば、君の持ってる服の中から、ぴったりの組み合わせをすぐに見つけられるよ。」


歌舞伎町のように賑やかでタフなCLIツール、uutils/coreutilsの世界へようこそ

uutils/coreutilsは、プログラマーにとって非常に身近なGNU coreutils(ls、cp、mv、grepなど、日々コマンドラインで使っている基本的なツール群)を、Rustというプログラミング言語で一から作り直したプロジェクトです。


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

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


歌舞伎町発!PakePlusで実現する、超軽量マルチプラットフォームアプリ開発

おいおい、PakePlusってのはよ、一言で言えば「ウェブサイトを瞬時にアプリに変えちまう魔法のツール」ってところだ。ウェブの技術を使って作ったもんが、デスクトップアプリにもスマホアプリにもなっちまうんだから、まるでコントの世界だろ? しかも5MB以下っていう超軽量級で、サクッと作れちまう。RustとTauriをベースにしてるから、軽くて速いってのがミソだぜ。


「Google版Rust」で学ぶ、信頼性と安全性を高めるコーディング

このコースは、単なる文法解説にとどまらず、実用的な視点でRustを学ぶことができます。信頼性の高さ GoogleのAndroidチームという、世界トップクラスのエンジニアたちが実際に使っている教材です。内容の質と正確性は非常に高いと言えます。


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

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


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

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


Rust製オープンソース決済スイッチ juspay/hyperswitchで効率的な決済処理を実現!

ワシは織田信長……いや、俺はソフトウェアエンジニアの「俺」だ! 今日はな、お主らにとって、まさに「天下布武」ならぬ「決済布武」を成し遂げるかもしれない秘宝、「juspay/hyperswitch」について語ろうではないか!(ガラガラと襖が開き、厳かな音楽が流れる…)