【こーどすめる】
コードスメル とは?
最終更新:
💡 コードの「気になる臭い」から、設計を調べる
コードを読んだときに気づく、設計や保守性の問題を疑う手がかり。長いメソッドや重複などがあるが、兆候だけで欠陥と決めず、背景を調べて改善を判断する。
📌 このページのポイント
代表的なコードスメルは?
長くて追いにくいメソッド、同じ処理の重複、多くの役割を抱えたクラスなどだよ。ただし「何行を超えたら必ず悪い」という共通の線引きはない。まず、理解や変更を難しくしていないか調べるんだ。
長いメソッドは全部分割するの?
目的のまとまりを切り出すExtract Function(メソッドの抽出)が役立つことはあるよ。たとえば明細表示をprintDetailsにまとめると、呼び出し元から意図を追いやすい。ただ短くするために細切れにせず、名前と役割が明確になるかを考えよう。
ツールで自動的にわかる?
見つけたらすぐ直すべき?
スメルは問題そのものではなく、調べる入口だよ。長いメソッドでも適切な場合がある。修正するなら、近く変更する箇所や困っている箇所などを優先し、テストで振る舞いを確認しながら小さく改善しよう。
まとめ:ざっくりこれだけ覚えればOK!
「コードスメル」って出てきたら「コードの設計を見直す手がかり」と思えばだいたいOK!
📖 おまけ:英語の意味
「Code Smell」 = コードの臭い
💬 コードが「臭う」=何か問題がありそうな兆候。Kent Beckが命名したよ