プログラミングとは切っても切り離せない名付け=命名。
この際にプログラム言語ごとに推奨される命名方法として、
Camel case や Snake case などが登場します。
こういった記法に関する情報をまとめます。
Camel case
複合語の語頭を大文字にする記法です。
ラクダの背中のように見えることから Camel case と呼ばれます。
先頭を大文字にするかどうかで2種類に別れます。
名称 | 先頭大文字 | サンプル |
---|---|---|
Upper Camel case / Pascal case | ○ | SampleTestData |
Camel case / Lower Camel case | ☓ | sampleTestData |
Snake case
複合語のそれぞれをアンダースコア「 _
」で結合する記法です。
地をはう蛇のように見えることから Snake case と呼ばれます。
定数などでよく見られるすべて大文字のケースは SCREAMING_SNAKE_CASE と呼ばれます。
蛇が荒ぶっているのですね。
名称 | 大文字 | サンプル |
---|---|---|
SCREAMING_SNAKE_CASE | ○ | SAMPLE_TEST_DATA |
Snake case | ☓ | sample_test_data |
Kebab case
複合語のそれぞれをハイフン「 -
」で結合する記法です。
串が刺さったケバブのように見えることから Kebab case と呼びます。
また、チェーンで繋いだように見えることから Chaine case とも呼びます。
各先頭の文字が大文字の場合、 Train case と呼びます。
名称 | 種類 | サンプル |
---|---|---|
Kebab case / Chain case / Spinal case | すべて小文字 | sample-test-data |
Train case | 各先頭のみ大文字 | Sample-Test-Data |
命名規約と論争
キャメル、スネークなどの命名規約については好みが分かれるところで、
よく燃えるお題のようです。
CodeIQ
CodeIQで Snake case から Pascal case への変換に関する問題を出題中です。
出題期間終了後は回答コードを公開していただければ、Togetterのまとめを作成します。
同じお題について他の人はどんなコードを書いたのか?
他の言語だとどんなコードになるのか?
見比べながらわいのわいのしていただければ幸いです。