Irohabook
0
16942

変数と関数の命名規則:スネークケース、キャメルケース、パスカルケースの違い

プログラミング言語はスネークケースかキャメルケースのどちらかをとる傾向にあります。スネークケースはアンダーラインで単語を区切り、キャメルケースは単語と単語をそのままつなげてしまうことが特徴です。

スネークケース … アンダーラインで区切る
キャメルケース … そのままつなげる

例えば get random number という関数をスネークケースとキャメルケースで表すと

スネークケース
get_random_number

キャメルケース
getRandomNumber

となります。スネークケースは単語と単語の間にくぼみがあるように見え、キャメルケースはドイツ語のようにアルファベットが長く続きます。キャメルケースは単語を大文字から始めることで、単語と単語の区切りをはっきりさせています。もしなにもしないと

getrandomnumber

となって、一目で判断することが難しくなってしまいます。

スネークケース

すべての単語を小文字にして、単語と単語はアンダーラインでつなげる。

  • push_back
  • get_terminate
  • array_filter

push_back と get_terminate は C++ で実際に使われている関数です。C、C++、Python、PHP などは変数や関数でスネークケースを採用しています。

使用言語

  • C
  • C++
  • Python
  • PHP

使われる場面

  • 変数
  • 関数

キャメルケース

最初の単語を小文字から始めて、それ以外の単語を大文字から始める。

  • isEmpty
  • navigationBar

isEmpty は Java の String にある関数(メソッド)です。navigationBar は Swift のプロパティ(変数)です。Swift などの言語では、変数や関数をキャメルケースで書きます。クラスや定数などに使うことはほとんどありません。

使用言語

  • Java
  • C#
  • Swift
  • JavaScript

使われる場面

  • 変数
  • 関数

パスカルケース

すべての単語を大文字から始めて、単語と単語はそのままつなげる。

  • ArrayList
  • OrderedDict

パスカルケースは一般的に変数や関数に使いません。スネークケース系の言語もキャメルケース系の言語も、クラスはだいたいパスカルケースで書きます。

ArrayList は Java のクラス、OrderedDict は Python のクラスです。Java と Python はそれぞれキャメルケース系、スネークケース系を代表する言語ですが、クラスは同じルールで命名されています。

初めてプログラミング言語を学ぶ方はクラス名はパスカルケースで書くことを意識しましょう。変数や関数をパスカルケースで書かないことが重要です。

アッパーケース

すべての単語をすべて大文字にして、単語と単語はアンダーラインでつなげる。

  • ALLOWED_HOSTS
  • LANGUAGE_CODE
  • POST

ALLOWED_HOSTS と LANGUAGE_CODE は Python のライブラリにある特殊な変数(定数)です。グローバル変数や定数にアッパーケースを使います。

アッパーケースは基本的に「むやみに使ってはいけない命名」で、「その変数が他の変数と明らかに性質が異なること」を明示するときに使います。Google Java Style Guide では定数をアッパーケースで書くように述べています。

使われる場面

  • グローバル変数
  • 定数
次の記事

プログラミング哲学