はじめに
プログラミングにおいて命名規則というものが存在する。
明確なルールとまではいかないそうだが、ある程度こういう場合はこのように書くなどの法則があるそう
実際にコードを書いていて、変数名だったりクラスの作り方だったりで書き方に迷う場合があったので調べて今の理解なりにまとめてみます。
命名規則とは
変数名などコンピュータプログラムのソースコード上で開発者が名付ける識別名についての決まりごと。
言語仕様や開発環境などによって定められているものと、ソフトウェア開発を行う組織やチームが内部的に定めるものがある。
その中でよく使われるスネークケース
やキャメルケース
、ケバブケース
について少しまとめていく。
命名規則がなぜ必要か
クラス名やメソッド名、関数名、定数名、変数名など、プログラム上で定義して扱う対象に名前を付ける機会は多くあるが、
複数人で開発を行う場合などにそれぞれが異なる考え方や基準で名前を付けると、互いのコードの可読性や視認性が損なわれ、開発効率や保守性の悪化につながる。
また名前の衝突や使い回しなどでバグが生じることもある。
そこで、名前の付け方に一貫したルールを設け、これに従って識別名を命名するようにするのが命名規則である。
よく定義された命名規則に従うと、対象の意味や機能、使い方などが名前からある程度推測できるようになり、コード自体がドキュメントの役割を果たすようになる。
検索や置換、ツールによる自動化なども行いやすくなり、デバッグや修正、追加開発の効率も向上する。
どのような規則を定めるかはプログラミング言語や開発環境の制約、組織やメンバーの考え方や方針によって様々であり、必ずしも良し悪しや優劣を論じられるものではなく、規格化された標準などがあるわけでもない。
言語やフレームワークによっては仕様上定められている命名規則が存在する場合もある。
キャメルケース【camelCase】
英語の複合語や、フレーズ(句)や文を一語に繋げて表記する際、“JavaScript” のように各構成語の先頭を大文字にする方式を「キャメルケース」(camel case)という。
大文字部分が上に出っ張っているのをラクダ(camel)のこぶに例えた呼称である。
このうち、“getDate” のように先頭は小文字とする方式を「ローワーキャメルケース」、
“GetWindow” のように先頭も大文字とする方式を「アッパーキャメルケース」あるいは「パスカルケース」という。
スネークケース【snake_case】
単語の間をアンダーバーでつなぐ命名規則。DBなどで扱われる値に使用されることが多い。
大文字がなく、長く一連なりに文字が続く様を地を這う蛇(snake)になぞらているとのこと。
ケバブケース【kebab-case】
単語の間をハイフンでつなぐ命名規則。HTMLではclass名であったり、ファイル名などでよく使われる。
どのケースを採用すべきか
現場によってどのケースが採用されているかはまちまちなことが多いとのこと。
一般的には下記のような感じで採用されることが多いそう。
キャメルケース → プログラミングでの関数や変数
スネークケース → DBなどで扱う値
ケバブケース → HTMLのclass名
可読性だったりバグだったり考えることがたくさんありますね。
もっと理解を深めて良いコードを書けるように精進していきます。