非エンジニアにもわかる命名規則とは?

解説

命名規則とは、ソースコードの識別子に対する名前の決め方のルールのことです。

命名規則には下記のような記法があります。

  1. スネークケース
  2. パスカルケース(アッパーキャメルケース)
  3. キャメルケース(ローワーキャメルケース)
  4. ケバブケース(チェインケース)
  5. ハンガリアン記法

各記法の詳細は下記になります。

スネークケース

スネークケースは、単語の間をアンダースコアで繫げる記法です。

nyan_cat

名前の由来は、Snake(蛇)のように見えることから来ています。

パスカルケース(アッパーキャメルケース)

パスカルケースは、各単語の頭文字を大文字にする記法です。

NyanCat

名前の由来は、プログラミング言語の Pascal でこの記法が使われていたことから来ています。

キャメルケース(ローワーキャメルケース)

キャメルケースは、最初の単語以外を大文字にする記法です。

nyanCat

名前の由来は、大文字が Camel(駱駝)の瘤のように見えることから来ています。

ケバブケース(チェーンケース)

ケバブケースは、単語の間をハイフンで繫げる記法です。

nyan-cat

名前の由来は、串焼きのケバブ(トルコ料理の一種)のように見えることから来ています。それってシシケバブのことで串はトルコ語でシシだからシシケースが正しいのでは?という疑問は黙っておく。

ハンガリアン記法

ハンガリアン記法は、識別子の prefix(接頭辞)や suffix(接尾辞)に目印を付けて間違いに気付きやすく記法です。

ハンガリアン記法には、アプリケーションハンガリアンとシステムハンガリアンがあります。

アプリケーションハンガリアンは、識別子に意味を付けます。

jpySales1
jpySales2
usdSales1
usdSales2

JPY(日本円)と USD(アメリカ合衆国ドル)を付けました、これを計算する際に…

jpySales1 + jpySales2 OK
usdSales1 + jpySales2 NG

このように間違いに気付きやすくなります。

システムハンガリアンは、識別子にデータ型を付けます。

intSales1
intSales2
lngSales1
lngSales2

int(整数型)とlng(長整数型)を付けました、これを計算する際に…

intSales1 + intSales2 OK
intSales1 + lngSales2 NG

このように間違いに気付きやすくなります。

システムハンガリアンは、個人的には非推奨です。理由は保守性が低いからです、データ型の変更が必要になった場合に無駄な作業が発生することは容易に想像できます。

また、各記法にはプログラミング言語によって向き不向きがあるので、コーディング規約を決める際は慎重に検討するのが良いでしょう。

保守性を意識しないエンジニアが命名規則を無視して技術的負債を積み上げ続けた結果、システムが破綻してしまったというのはよくある話です。

以上です。