命名規則に出てくるキャメルケースなどの種類
自分はいま CakePHP を学習しているのですが、規約には「設定より規約」と書いてあるぐらい命名規則にが重要になってきます。
その際に「HelloController」のような単語を大文字で組み合わせた記法がでてきて、他にもいくつかあったのでメモ代わりにまとめます。
複合語の記法種類
記法名 | 記法例 |
---|---|
アッパーキャメルケース(パスカルケース) | PascalCase |
ローワーキャメルケース(キャメルケース) | camelCase |
スネークケース | snake_case |
チェインケース | chain-case |
キャメルケース
キャメルケースとは単語の先頭を大文字にして、単語間をわかりやすく区切る記法です。
単語間をわかりやすく区切るためなので、最初の文字は大文字にしなくてもいいと思いますが、統一性に欠けたりしますよね。
どちらが正解とかはなくて、先頭が大文字か小文字のどちらも間違いではありません。
先頭が大文字の場合は「アッパーキャメルケース(別名:パスカルケース)」と呼ばれ、
先頭が小文字の場合は「ローワーキャメルケース(別名:キャメルケース)」と呼ばれています。
ラクダは英語にすると「camel」なのでそれが由来のようです。大文字と小文字の関係が、ラクダのコブに似ていることからつけられたそうです。
スネークケース
キャメルケースが単語を大文字で区切っているのに対して、スネークケースはアンダーバー(_)で区切っています。
スネークケースはデータベースなどで扱われる値に使用されることが多いようです。
そしてこちらは、蛇が地面を這っているように見えることからそう呼ばれるようになったそうです。こちらも蛇の「snake」からきてますね。
チェインケース
チェインケースは単語をハイフン(-)でつなげる記法です。
他にも「ケバブケース」とも呼ばれることがあるそうです。
ハイフン(-)は、基本的に演算子の引き算を意味するためプログラムでは使いませんが、HTML の class や id で使用されることが多いようです。
単語を鎖(chain)でつないだイメージからこう呼ばれているそうです。
これらの用途はいろいろありますが簡単にまとめてくれている記事があるので こちら も参考にしてみてください。
まとめ
-
キャメルケース(例:camelCase)
- 先頭の単語が小文字で後から続く単語を大文字で区切っていて、用途としてはインスタンス化した変数や関数等の名前に使用されます
-
パスカルケース(例:PascalCase)
- 先頭の単語も含め大文字で単語を区切っていて、クラスの命名の際に多く使用します
-
スネークケース(例:snake_case)
- 単語をアンダーバー(_)でつないでいる。用途は変数や関数名またはDBのテーブル名やカラム名など。
-
チェインケース(例:chain-case)
- 単語をハイフン(-)でつないでいる。用途はHTMLのclass名やid名など。
今回はプログラミング等で使用されている複合語のいくつかの記法を紹介しました。
CakePHP での命名規則が多く、複合語の記法が出てきたので軽くまとめてみました。
用途は人によったり、ここに書いたもの以外にもあると思いますのでその都度調べてみてください。
Discussion