キャメルケース・パスカルケース・スネークケース・コンスタントケース・ケバブケースの違い【命名規則】

この記事では『命名規則』について、

  • キャメルケース・パスカルケース・スネークケース・コンスタントケース・ケバブケース・トレインケースの違い
  • JavaScriptにおける一般的な命名規則

などを分かりやすく説明するように心掛けています。ご参考になれば幸いです。

命名規則

アプリを開発する際、「クラス名」「変数名」「オブジェクトのプロパティ名やメソッド名」「HTMLのIDやクラス名」など様々な場面で命名することがあります。命名規則がバラバラだと、コードを読む際に可読性が悪くなるため、各プロジェクトや組織で命名規則を決めることが必要です。

命名規則には主に以下の6種類あります。下表に各命名規則の特徴をまとめます。

名称説明
キャメルケース
ローワーキャメルケース
currentUserItem・先頭の単語は小文字で書き始める。
・先頭以外の単語の最初が大文字である。
パスカルケース
アッパーキャメルケース
CurrentUserItem・先頭の単語は大文字で書き始める。
・先頭以外の単語の最初が大文字である。
スネークケース
ローワースネークケース
current_user_item・各単語をアンダースコア(_)でつなぐ。
・各単語は全て小文字である。
コンスタントケース
アッパースネークケース
スクリーミングスネークケース
CURRENT_USER_ITEM・各単語をアンダースコア(_)でつなぐ。
・各単語は全て大文字である。
ケバブケース
ローワーケバブケース
current-user-item・各単語をハイフン(-)でつなぐ。
・各単語は全て小文字である。
トレインケース
アッパーケバブケース
Current-User-Item・各単語をハイフン(-)でつなぐ。
・各単語の最初は大文字である。

これから各命名規則について順番に詳しく説明します。

キャメルケース・ローワーキャメルケース

キャメルケース(camelCase)は先頭の単語は小文字、先頭以外の単語の最初は大文字にする命名規則です。PHPやJavaScriptなどの関数で使われることが多い命名規則です。キャメルケースはローワーキャメルケースとも呼ばれています。

キャメルケースの要点

  • 例:currentUserItem
  • 先頭の単語(current)は小文字で書き始める。
  • 先頭以外の単語(user, item)の最初は大文字にしてつなげる。

パスカルケース・アッパーキャメルケース

パスカルケース(PascalCase)は各単語の最初を大文字にする命名規則です。クラス名などで使われることが多い命名規則です。パスカルケースはアッパーキャメルケースとも呼ばれています。

パスカルケースの要点

  • 例:CurrentUserItem
  • 先頭の単語(current)は大文字で書き始める。
  • 先頭以外の単語(user, item)の最初も大文字にしてつなげる。

「キャメルケース」と「パスカルケース」の違い

先頭の単語が小文字大文字であるかが違います。

  • 先頭の単語が小文字:キャメルケース(例:currentUserItem)
  • 先頭の単語が大文字:パスカルケース(例:CurrentUserItem)

スネークケース・ローワースネークケース

スネークケース(snake_case)は各単語をアンダースコア(_)でつなぎ、全て小文字で表現する命名規則です。Pythonの関数名やDBなどで扱われる値で使われることが多い命名規則です。スネークケースはローワースネークケースとも呼ばれています。

スネークケースの要点

  • 例:current_user_item
  • 各単語(current, user, item)をアンダースコア(_)でつなぐ。
  • 各単語は全て小文字である。

コンスタントケース・アッパースネークケース

コンスタントケース(CONSTANT_CASE)は各単語をアンダースコア(_)でつなぎ、全て大文字で表現する命名規則です。コンスタントケースはアッパースネークケーススクリーミングスネークケースとも呼ばれています。

コンスタントケースの要点

  • 例:CURRENT_USER_ITEM
  • 各単語(current, user, item)をアンダースコア(_)でつなぐ。
  • 各単語は全て大文字である。

「スネークケース」と「コンスタントケース」の違い

単語が小文字大文字であるかが違います。

  • 単語が小文字:スネークケース(例:current_user_item)
  • 単語が大文字:コンスタントケース(例:CURRENT_USER_ITEM)

ケバブケース・ローワーケバブケース

ケバブケース(kebab-case)は各単語をハイフン(-)でつなぎ、全て小文字で表現する命名規則です。HTMLのクラス名やファイル名などで使われることが多い命名規則です。ケバブケースはローワーケバブケースとも呼ばれています。

先ほど説明したスネークケースは各単語をアンダースコア(_)でつないでいましたが、ケバブケースはハイフン(-)でつなぎます。

ケバブケースの要点

  • 例:current-user-item
  • 各単語(current, user, item)をハイフン(-)でつなぐ。
  • 各単語は全て小文字である。

トレインケース・アッパーケバブケース

トレインケース(Train-Case)は各単語をハイフン(-)でつなぎ、各単語の最初を大文字で表現する命名規則です。トレインケースはアッパーケバブケースとも呼ばれています。

トレインケースの要点

  • 例:Current-User-Item
  • 各単語(current, user, item)をハイフン(-)でつなぐ。
  • 各単語の最初は大文字である。

「ケバブケース」と「トレインケース」の違い

各単語の最初が小文字大文字であるかが違います。

  • 各単語の最初が小文字:ケバブケース(例:current-user-item)
  • 各単語の最初が大文字:トレインケース(例:Current-User-Item)

JavaScriptにおける一般的な命名規則

一例として、JavaScriptにおける一般的な命名規則を以下に示します。

  • クラス名
    • パスカルケースが一般的です。
    • 例: ClassName
  • メソッド名・関数名
    • キャメルケースが一般的です。
    • 例: methodName
  • 定数名
    • コンスタントケースが一般的です。
    • 例: CONSTANT_VALUE
  • 変数名・プロパティ名
    • キャメルケースが一般的です。
    • 例: variableName
  • コンポーネント名
    • パスカルケースが一般的です。
    • 例: ComponentName

プロジェクトやチームによっては異なる命名規則を採用していることもあります。

本記事のまとめ

この記事では『命名規則』について、以下の内容を説明しました。

  • キャメルケース・パスカルケース・スネークケース・コンスタントケース・ケバブケース・トレインケースの違い
  • JavaScriptにおける一般的な命名規則

お読み頂きありがとうございました。