キャメル記法
ご存知のように、キャメル記法は最も有名な命名規則のひとつです。複数の語句から関数名や変数名を命名するとき、先頭以外の単語の頭文字を大文字にして連結します。
camel + case | camelCase |
get + raw + keys | getRawKeys |
先頭は単語の区分が自明なために頭文字を大文字にする必要がありませんが、先頭の単語を大文字にする記法もあります。両者を区分する場合、一般的には以下のように呼び分けられます。
先頭の単語の頭文字 | 一般的な名称 |
---|---|
小文字 | camel case |
大文字 | studly caps |
キャメル記法は、 Java や C# などで利用されています。 Java では、クラス名とメソッド名を区分するために camel case と studly caps を使い分けます。
メソッド名 | camel case |
---|---|
クラス名 | studly caps |
外部リンク
アンダースコア記法
複数の単語を連結して表現する方法では、キャメル記法と並んでよく使われるのがアンダースコア記法です。各単語の間にアンダースコアを挟んで表現します。アンダースコア記法は、一般的に snake case と呼ばれます。
snake + case | snake_case |
get + raw + keys | get_raw_keys |
アンダースコア記法は全部の単語を小文字で表記しますが、全部大文字にしたものを screaming snake case と呼びます。多くのプログラム言語で、定数の命名時に使われています。
snake + case | SNAKE_CASE |
get + raw + keys | GET_RAW_KEYS |
アンダースコアをの代わりにハイフンで連結したものは、 train case と呼ばれます。 chain case や kebab case と呼ばれることもあります。
本記事内では、アンダースコア記法のアンダースコアやハイフン区切り記法のハイフンを「区切り子」と表記します。
ふたつの記法の目的
キャメル記法とアンダースコア記法の目的は、以下のように要約されます。
現在時刻を取得するメソッド名を「 get current time 」と命名する際、以下のようにすると可読性が低くなるのが分かります。
キャメル記法やアンダースコア記法で表現すると、どちらの記法でも単語の区切りを容易に識別できます。
元の単語 | get + current + time |
---|---|
キャメル記法 | getCurrentTime |
アンダースコア記法 | get_current_time |
表記について
本記事では、各記法を以下の様に表記します。
記法 | 表記 | |
---|---|---|
キャメル記法 | 先頭が小文字 | camelCase |
先頭が大文字 | StudlyCaps | |
アンダースコア記法 | snake_case | |
ハイフン区切り記法 | train-case |