【くりーんこーど】

クリーンコード とは?

💡 「未来の自分が読んでも迷わない」コードの書き方
📌 このページのポイント
汚いコード vs クリーンコード 汚いコード function d(x,y,z){ var a=x*y+z/2-1; if(a>0)return a; else return -1;} 意味不明な変数名 コメントなし・読みにくい VS クリーンコード function calcPrice( qty, unitPrice, tax ) { const total = ... 明確な命名・読みやすい 意図が伝わる構造 保守コスト: 高い 保守コスト: 低い
クリーンコード:読みやすく保守しやすいコードを書く原則
ひよこ ひよこ

クリーンコードってどんなコードのこと?

ペンギン先生 ペンギン先生

一言で言うと「他の人(や未来の自分)が読んでもすぐ理解できるコード」のことだよ。たとえば変数名が「x」や「data2」じゃなくて「userAge」や「orderTotal」になっている。関数も1つの処理だけをする小さな単位に分かれている。コメントがなくてもコード自体が説明書になっているイメージだね。

ひよこ ひよこ

なんでそこまで読みやすさにこだわるの?

ペンギン先生 ペンギン先生

プログラマーの時間の約8割は「既存のコードを読む」ことに使われていると言われているんだ。書くのは一瞬でも、そのコードは何年も読まれ続ける。だから読みやすさへの投資は長期的に見て圧倒的にコスパがいいんだよ。

ひよこ ひよこ

クリーンコードを実践するコツってある?

ペンギン先生 ペンギン先生

まずは「意味のある名前をつける」ことと「関数を短く保つ」ことから始めるといいよ。ただし注意したいのは、クリーンコードの原則を教条的に守りすぎると逆に過度な抽象化や細分化で読みにくくなること。「このコードを初めて読む人が理解するまでにどれくらいかかるか」を常に意識するのが一番大事だよ。

ひよこ ひよこ

レガシーコードをクリーンにするにはどうすればいいの?

ペンギン先生 ペンギン先生

「ボーイスカウトルール(来たときよりも美しく)」が実践的だよ。一度にリファクタリングしようとせず、触ったファイルを少しだけ綺麗にして戻す。まずテストを書いてから安全にリファクタリングする「レガシーコード改善ガイド(Working Effectively with Legacy Code)」の手法がバイブルだね。実は「技術的負債」という概念を提唱したウォード・カニンガムは、「負債は意図的に受け入れるもの」と言っていて、すべてのコードを完璧にする必要はないんだ。返済計画を持つことが大事なんだよ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「クリーンコード」って出てきたら「読みやすく保守しやすいコードを書くための考え方だな」と思えればだいたいOK!
📖 おまけ:英語の意味
「clean code」 = きれいなコード
💬 Robert C. Martin(通称Uncle Bob)の同名書籍がきっかけで広まった概念だよ
← 用語集にもどる