Rustfmtで秩序を!ソフトウェアエンジニアが知るべきコード整形とcargo fmt
ダース・ベイダー
ルーク、聞くがいい。お前が書いたあの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の力で、クリーンなコードを書き続けます!