PHP のコーディングスタイルで、スネークケースかキャメルケースかの議論で、2011年頃は PHP のビルトインの関数名の影響か、スネークケース支持派が多数だった印象。しかし、現在、GitHub などのオープンソースプロジェクトで見られるのは、ほぼほぼ、キャメルケース。
コーディングプラクティスの原則の一つとして、曖昧さの回避がある。できるだけ明瞭にするということ。
ここで、A の値が欲しいとした時、メソッド名に
getVar()
getVariable()
getVariableOfA()
どれが良いか。随分前に読んだ本によると(タイトル忘れた)、3番目が宜しいとのこと。アブリビエーション、例えば、WordPress のことを WP と表記したりするのは曖昧さを持たせるので避けましょうとのこと。つまり、getVar()
は省略形なので選択から外れ、より具体性のある3つ目になる。
ただし、名称が長くなるという負の側面がある。その本では、「名称を短くする < 明瞭さ」という考え方を推奨していた。
そして、この考え方に則ると、スネークケースが非常に使いにくくなる。
get_variable_of_a()
getVariableOfA()
だとまだ区別がつきにくいかもしれないが、これが、
get_suggested_type_from_user()
getSuggestedTypeFromUser()
など、単語数が増えてくると、名称の長さの違いが明白になってくる。もちろん、短いほうが使いやすい。上限分岐などのラインがスクリーンに収まるからだ。
大きなスパンでものごとの流れを観察していると、結局、合理性の高い方法が採用されていくというのを目の当たりにする。一時的な周囲のブームと長期的に通用するものの見極めが必要だ。
Postscripts
上限分岐 -> 条件分岐