はじめに
この記事は命名規則に関する今現在の自分の知識をまとめたものです。私自身が初心者の域を出ないので、簡単な内容のみに絞りました。誤っている部分や、もっとこうした方が良いという点があるかもしれません。ご了承ください。
対象読者
- 初心者プログラマー
命名規則について
命名規則で使われることがあるのは、概ね以下の5つでしょうか。
- パスカルケース
- キャメルケース
- スネークケース
- アッパースネークケース
- ケバブケース
この中で、Microsoftはスネークケース、ケバブケースを非推奨としています。言語によると思いますが、命名の際はパスカルケースもしくはキャメルケース、スネークケース、アッパースネークケースが主に使われていると思います。
各言語の推奨されている命名規則を、軽く纏めました。
種類 | c# | PHP | Python | Java | JavaScript |
---|---|---|---|---|---|
クラス | Pascal | Pascal | Pascal | Pascal | Pascal |
関数 | Pascal | snake_case | camel | camel | |
メンバ変数 | Pascal | camel | snake_case | camel | camel |
ローカル変数 | camel | camel | camel | camel | camel |
名前空間 | Pascal | Pascal | 全て小文字 | ||
定数 | Pascal | SNAKE | SNAKE | SNAKE | SNAKE |
パスカルケース(PascalCase)
-
PascalCase
のように、要素語は大文字を連続させて命名します。 - アッパーキャメルケースとも呼ばれます。
キャメルケース(camelCase)
-
camelCase
のように、初めの要素語だけ小文字から始め、以降の要素語は大文字から始めます。 - ロウワーキャメルケースとも呼ばれます。
スネークケース(snake_case)
-
snake_case
のように、要素語は全て小文字で記し、要素間をアンダーバー(アンダースコア)で繋げます。
アッパースネークケース(SNAKE_CASE)
-
SNAKE_CASE
のように、要素語は全て大文字で記し、要素間をアンダーバー(アンダースコア)で繋げます。
ケバブケース(kebab-case)
-
kebab-case
のように、要素語は全て小文字で記し、要素間をハイフンで繋げます。 - あまり推奨されていません。(見たことない...)
名付けのルール
名前の付け方に関しては、開発を行っている会社やグループの方針があるかもしれませんが、一般的に良いとされている(?)つけ方を軽く紹介いたします。
以下は、どの名前付けに関しても一貫して言えることを述べました。
- 一目で見てその内容がわかるような名前を付けます。
- 数字や日本語は極力避けましょう。
- 名づけの方の一貫性を保ちましょう。
- 他の名前と被りにくい、ユニークなものを選びましょう。
クラス名について
- 名詞を主に使います。
- インターフェースなどであれば、形容詞を用いることがあります。
関数名について
- 動詞を主に使います。
- 真偽値を返すのであれば、
isFull
や、needConnected
のように、is
,can
,should
,must
,need
,has
など、真偽値を返す目的を先頭につけましょう。 - データを変換するなら
to
であったり、データなどを作成するならcreate
など、目的が明確になるような要素語を先頭につけることが望ましいです。
変数名について
- 名詞を主に使います。
- データを保持する目的や、中身が明確になるような名前をつけましょう。
- 関数同様、boolean型ならば
is
やhas
などのような、何についての真偽値なのかがわかるようなものが望ましいです。 - 型についての情報を先頭につけることもあります。例えば整数ならintの
n
を先頭につけたり、文字列ならばstr
などのようにします。これは、こういった値でよく使われるというよりは、ボタンであったりテキストボックスであったりする際に、btn
やtxt
などの要素語を先頭につけるイメージです。
おわりに
以上が、私が心掛けている命名規則についての情報です。
他にもあれば追記していきますし、編集リクエスト、コメント等お待ちしております。