プリンシプル

プリンシプル 名前(命名)は重要だ

命名は最重要である。

名前は、エンジニアがコミュニケーションをするための共通のものである。名前が適切でないと、誤解の原因になるなど、コミュニケーションが成立しなくなる。

クラスや関数などに名付ける時、その要素が理解され、設計されていなければならない。その名前がふさわしくない(誤り、曖昧な)場合、もしくはふさわしいと判断できない場合は、その要素への理解が足りていないと言える。

書いたことを忘れた未来の自分も含めた、コードを読む人のためにも、適切に名前を付けるべきである。

関数の命名の場合、わかりやすい命名をすると、責務を名前で説明し、内部の処理を隠蔽できる。つまり、読み飛ばしや、呼び出しもしやすく、呼び出した元でも、説明的でわかりやすくなる。しかし、わかりにくいと、大きな負荷となる。内部の処理の確認や解析が必要になり、呼び出した元も読みづらくなる。

目的は、コードを理解した上で、追加や変更することである。コードを読むことではない。不適切な名付けは、何としても避けるべきである。読みづらくなるために無駄に時間がかかり、その仕事に関わる人全員にとって負債となるためだ。

命名は、以下を確認しより多くの情報を詰め込み、候補をいくつか挙げてから、使う側・読む側の気持ちになって選ぶと良い。

  • 誤解されないか(一般的な知識や、チームの習慣や慣習なども考慮し、捉え違えがないか)
  • 効果と目的を説明する(実現方法など詳細な手段は省く)
  • 発音や検索が可能なものにする(コミュニケーションする時に簡単に伝えられる)
  • 標準的な名前を使用する(共通認識を利用すべきである。造語や独自の名前にすると負荷がかかる)