良いコードを生み出すには「良い名前」をつけることが第一歩ですね。

良い名前とは ?

[良いコードを書く技術] によると

  • 意味・意図を表す名前が付けられている
  • 一貫性がある
  • 英語で付ける
  • 会社やチームの慣習に合わせる
  • コーディング規約に従う

意味・意図を表す

変数名が短すぎると意味がわからなくて混乱することがありますよね。

count だと何を数えたのかわからないですけど、 user_count にすると「人数を数えた」とわかりますね。

1× $count = 0;
2○ $user_count = 0;

一貫性

「一貫性」とは、 「プログラム全体を通して一貫性したポリシーで名前を付ける」 ということ。

私が気になってしまうのは、次のように単語の順番が揃ってないコードです。

1$max_size;
2$size_max;

英語を使う

「こんな事わざわざ言われなくても!」 そう思います?

でも結構やってしまうんですよ。

「どう表現してよいかわからない」ものはローマ字表現でごまかしてしまいたくなります。

1// 救急車
2$kyuukyuusha

とかね。どうですか ?

ローマ字でつけた変数を読むときは、「ローマ字から日本語」への脳内変換が何度も走ってしまって、すごく読みにくいんですよね。

翻訳サービスを使うなど、手間を惜しまないことが大切です。

ルールに従う

「慣習」に従った名前は違和感がないため、わかりやすいです。

それぞれのプロジェクトでコーディング規約等を定めて、チームメンバーで統一することが大事です。

まとめ

変数名、メソッド名、クラス名等の名前を見るだけで役割わかり、ソースの理解を助けれる。
逆に役割・意図が伝わらない名前を付けてしまうと、読み手を混乱させ、バグの原因となる場合もある。

理解を助けるのが、良い名前の条件の一つ と言えそうですね。

そのためには、

「なぜこういうコードになっているか」という コーディング時の気持ち (その時考えていたこと) が齟齬なく伝わる こと

単語の並びなど、違和感なくスラスラ読める「ルールに従った」コードであること

が大切、と理解しました。