
プログラミングとは切っても切り離せない名付け=命名。
この際にプログラム言語ごとに推奨される命名方法として、
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のまとめを作成します。
同じお題について他の人はどんなコードを書いたのか?
他の言語だとどんなコードになるのか?
見比べながらわいのわいのしていただければ幸いです。