はじめに
この章では「読みやすいコードとは何か?」という原則から、「名前に情報を詰め込む」ことでコードの理解がいかに早くなるかについて学びました。
理解しやすいコードとは?
書籍では、理解しやすいコードとは「理解するまでにかかる時間が最も短いコード」と定義されていました。
「できる限り早く理解できること」を意識することが大切だということで、自然と腑に落ちました。
名前に情報を詰め込む
具体的な手法として、変数名や関数名に意味を持たせることで、コードの意図が明確になり、
「ミスの発見も早くなる」
という話が印象的で一番の学びになりました。
理解の速さに加えて、ミスの発見速度も上がるということで、リーダブルコードちゃんと学ぶべきだなと強く感じました。
1. 意味のある名前をつける
-
動作の明確化
例:get→fetch(ネットワークアクセスが含まれるとわかる) -
単位の明示
例:time→time_s(秒単位であることがわかる) -
状態の明示
例:data→unescaped_data(未加工であることが明確)
2. 名前の具体性がバグの発見を助ける
例えば、戻り値の変数名を retvalue とするよりも、sum_squares とすれば、sum_squares += val のような間違いにもすぐに気付くことができる。具体的な名前があることで、「何が正しい形なのか」の認識がコード上で明確になる。
3. スコープに応じて名前の長さを調整する
- スコープが短い場合:短く抽象的でもOK(例:
i,val) - スコープが長い場合:具体的にすべき(例:
user_id_list,escaped_html_string)
短いスコープに長い名前を使うと、冗長になってしまうこともあるため、バランスが重要だと学んだ。
4. フォーマットで情報を与える
-
クラスのメンバ変数の末尾に
_をつけるこれにより、引数やローカル変数とメンバ変数を区別でき、可読性が上がる。
おわりに
『リーダブルコード』はプログラミングを始めたばかりの頃に読んだときは、その重要性をあまり感じませんでした。
しかし、ある程度の規模のコードを扱えるようになってきたため、変数名、関数名が、コード全体の理解に大きく影響することはわかります。
特にチーム開発や、数週間後に自分が再度読むコードにとっては「読みやすさ」はとても重要だと思います。
日々の実装から意識していこうと思いました。