はじめに
この記事ではプログラミングでよく使われる命名規則について解説します。
それぞれの規則の特徴や違いについて理解するのが今回の目的です。
自分にはどの命名規則が適しているのかを俯瞰的に見られるようになると思います。
ぜひ最後まで読んでみて下さい。
目次
命名規則とは
命名規則とはクラス名や変数名を定義する際に決められているスタイルです。
複数の単語を一つの文字として結合するために使われます。
例えばremove event handler
という変数を定義したいと思ったとします。
普段、このような名前をつける際には単語ごとにスペースを空けます(下図参照)。
しかし、コードを書く際にはスペースはプログラミング言語が予約語として意味を持っていることが多いです。
そのためスペース区切りではなく、これから紹介するような様々な区切り方で命名を行います。
主な命名法
今回紹介するのは以下の4種類です。
記法名 | 例 | 概要 |
---|---|---|
キャメルケース | camelCase | 最初は小文字、2単語以降は大文字で繋げる |
パスカルケース | PascalCase | 単語ごとに最初の文字を大文字で繋げる |
スネークケース | snake_case | 単語の最初の文字は小文字、単語ごとにアンダーバー (_)で繋げる |
ケバブケース | kebab-case | 単語の最初の文字は小文字、単語ごとにハイフン (-)で繋げる |
順を追って説明します。
キャメルケース (camelCase)
キャメルケースは最初の単語以外の単語の最初の文字を大文字にして接続します。
単語を接続する一般的な方法で、非常に多くの言語で使われています。
フロントエンド言語ならJavaScriptでもこのスタイルが使われています。
Raw: update state handler
Camel Case: updateStateHandler
パスカルケース (PascalCase)
画像引用元:[CHRISTIANITY] Blaise Pascal Scientific and spiritual prodigy
パスカルケースは単語ごとに最初の文字を大文字にして接続します。
キャメルケースと違い最初の単語も大文字にすることから、アッパーキャメルケース(upper camel case)とも言われます。
プログラミング言語のPascal
で使われていたことからこの名前で呼ばれています。
Raw: update state handler
Pascal Case: UpdateStateHandler
スネークケース (snake_case)
スネークケースは単語ごとにアンダーバー( _ )で接続します。
これは非常に多くの言語で使用されています。
特にデータベースのフィールド名や言語だとPythonでもよく使われています。
Raw:update state handler
Snake Case: update_state_handler
ケバブケース (kebab-case)
ケバブケースは単語ごとにハイフン( – )で接続します。
このスタイルはよくURLで見られます。
例えば、https://code-ship-blog.wemotion.co.jp/
のように使われます。
Raw: code ship blog
Kebab Case: code-ship-blog
上記の4つ以外にもグローバル変数でよく用いられるUPDATE_STATE_HANDLER
のような書き方など様々な種類があります。
興味がある人は調べてみると面白いと思います。
まとめ:結局どれを使えばよいのか?
今回は4つの命名規則紹介しました。
最後に「結局どの方法を使えばよいか?」について考えたいと思います。
結論から言えばどれが正しいということは特にありません。
どれを使うのかべきかは自分が使う言語のコミュニティーや開発チームに依存します。
なのでそこで使われている規則に従うことが一番良いと思います。
自分のチームや言語ではどのスタイルが使われているのか確認してみてはいかがでしょうか。
参考URL
以下の記事でどれを使うのか議論があったので、トピックとして知っておくと面白いかもしれません。