変数・関数などの名づけ方の種類(ルール)である、
キャメルケースとパスカルケースの違いを説明します。
同じところ
どちらも「単語の区切りをわかりやすくするためのルール」であり、
どちらも「各単語の頭文字を大文字にする」ことで単語の区切りを表現します。
違うところ
先頭の単語の頭文字を大文字にするかどうかが違います。
- camelCaseと、先頭の単語は小文字で始めるのがキャメルケース
- PascalCaseと、先頭の単語も大文字で始めるのがパスカルケース
です。
どちらも、2単語目以降は頭文字を大文字にします。
なお、前者をローワーキャメルケース(lowerCamelCase)、
後者をアッパーキャメルケース(UpperCamelCase)と呼ぶこともあり、
この場合、キャメルケースはこの両方を指します。
単にキャメルケースといった場合はどちらを指しているか考える必要がありますが、
パスカルケースが一緒に出てきた場合は、キャメルケースはほぼ間違いなく、
狭義のローワーキャメルケースを指すと思います。
使い分け
とりあえず、開発チームとかでルールがある場合はそれに従います。
なければ、書いているプログラミング言語の文化を踏まえつつ、
自分なりに使い分ければOKです。
- クラス・構造体など、親っぽいもの、大きい気がするものはPascalCase
- 関数・変数など、子っぽいもの、小さい気がするものはcamelCase
みたいに使い分けるのが比較的メジャーなようです。
ExcelVBAの文化はというと、
みんなみようみまねで好き勝手やるのが文化みたいな言語ですが、
クラスがあまり登場しない言語であるため、↑よりちょっとスケールを小さくして、
- 関数はPascalCase
- 変数はcamelCase
や
- Public変数・関数はPascalCase
- Private変数・関数はcamelCase
などで使い分けている人が多いように思います。
とりあえず「統一感がある」のが大事ですので、
「よくわからんまま混在」みたいになってなければOKだと思います。
ちなみに、もう一つのメジャーな単語区切りケースとして、
- snake_caseと、各単語をアンダーバーで区切るスネークケース
- (SNAKE_CASEと、各単語を大文字にしたアッパースネークケース)
があります。
第3の記法として、「定数」などを見分けたいときに登場することがありますので、
余裕がある方はこちらも覚えてしまってください。
おまけ:マイルール
私の命名規則はどうしているかというと、そもそも日本語変数をメインに使っているため、そんなに厳格に決めていません。
半角スペースがないと単語の区切りが分からないような言語と違って、
助詞てにをわを省略しなければ、漢字と漢字の間はひらがなが区切ってくれますので。
という冗談はさておき、「ws集計表」のように、
英語接頭詞+日本語名での命名は多用します。
↓こんな感じで選択肢から入力できると楽ですからね。
この英字を接頭する命名(アプリケーションハンガリン記法と呼びます)を用いた上で、
- 変数・クラスのメソッド/プロパティはcamelケース
- クラス・Public関数・定数はPascalケース
と使い分けることが多いです。
2単語目の頭文字が英語ではない日本語変数で、
camelケースがキャメルケースなのかは知りませんけど(笑)
なお、英語変数を使う場面はどういうルールでやっているかというと、
それはほとんど「他の人が英語で書いたコードの修正や追加」する場面です。
その時は、その人のルールを読み取って、それに合わせるように書いています。