名前付けのセンスはコードのセンスに直結する?

読みにくい、と思われるコードは、大抵にメソッドや変数の名前付けが上手く行っていないことが多い気がします。一番よくあるのは、名前が抽象的でありすぎること。Authというクラスがあっても、何の認証なのか、パッと見分かりませんよね。。

名前に情報を詰め込む、ということ

リーダブルコードという本では、名前に情報を詰め込むことが重要だと言っています。

  • 明確な単語を選ぶ
  • 汎用的な名前を避ける(あるいは、使う状況を選ぶ)
  • 抽象的な名前よりも具体的な名前を使う
  • 接尾辞や接頭辞を使って情報を追加する
  • 名前の長さを決める
  • 名前のフォーマットで情報を伝える

綺麗に名前がつけられていると、それを読み下すだけで、まるで仕様書を読むかのように読めるかと思います。(そうはいっても、なかなか名前付け、難しいですけどね・・・)

名前付けのセンスでコード力が分かるかも?

こんなことを思ったのは、「次のソースを読んでこの変数に名前をつけなさい、みたいな問題を採用試験にしてはどうか?」というツイートを見たからです。これは逸品な考え方だなぁ、と感心しました。

大げさですが、変数の名付けには、その人のこれまでの経験が垣間見える気がします。普通の人なら単純にresultという変数名をつけるところを、もう少し具体的な名前にしていたりすると、「読む人が困らないように/もしくは自分が読んだときにもすぐ分かるように配慮しているんだなー」と感心します。

そんなわけで、変数の名付け問題みたいな問題をつくってみるのも面白いなーと思ったのでした。

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)
Dustin Boswell Trevor Foucher
オライリージャパン
売り上げランキング: 1,093