命名の現状
複数の単語を使う場合、それを区切る方法が必要となる。
そもそも区切らない。foobarbaz
SCREAMING_SNAKE_CASE 叫んでいるように見えるとのこと。
lowerCamelCase (LCC)
UpperCamelCase (UCC)
lisp-case とも呼ばれる。
命名で使える文字は、歴史的事情と互換性のため、たいていの場合、ASCII 範囲内の文字で、英数字とアンダーバーであることが多い。
最近は Unicode が一般的に使えるようになってきている。
kebab-case は、マイナスと誤認されることがある。多くのプログラミング言語ではマイナスと解釈されるために、結局 snake_case に置き直して取り扱われることが多い。
先頭はたいてい数字は除外されている。
先頭アンダーバーは、衝突を防ぐ目的で使われることが多い。
多くの場合はプライベートな名前として使っている。
C言語では、先頭がアンダーバーの名前は通常のプログラムでは使うべきではないとされている。
CamelCase にすると、アンダーバーを別の区切りに使うことができる。
snake_case にすると、アンダーバーが使われてしまうため、アンダーバーを二重に使って区切りにすることがある。
foo_bar__blah_blah
case-insensitive (大文字小文字を区別しない)の環境(例: Windows のファイル名、SQL)では、小文字のみや大文字のみとすることがある。
CamelCase ととても相性が悪い。
大文字の略語をどうするかでブレがある。
例
HTML 大文字は大文字
Html 単語で区切りたいから
html 小文字で統一
SCREAMING_SNAKE_CASE
定数として使われることが多い。
UpperCamelCase
名前空間やクラスなどの大きな対象に対して使われることが多い。
Windows 系 API では一般的
Win32API 関数
.NET Framework
VBA
lowerCamelCase
変数や関数などの小さな対象に対して使われることが多い。
snake_case
C/C++ でよく使われる。
kebab-case
ファイル名で使われることが多い。
CSS のクラス名
npm パッケージ