コーディング時にはいろんなルールや規約を設けることが多いかと思いますが、中でも重要なのが命名規則だと思います。細かいようですが、この命名規則についてルールを設けておくことで、複数人での開発をスムーズにしたり、改修時の工数短縮にも効果的です。
今回はその中でもよく用いられる「キャメルケース」「スネークケース」「ケバブケース」の3つについて違いなどをまとめてみました。
関数や変数、class名などで用いられるいろんな命名規則
ウェブプログラミングでも、javascriptやPHPにおいて関数や変数、HTMLなどでもclass名など、命名規則を用いる場面は多々あります。この際に
命名規則がなく、バラバラになっていると可読性が悪くなることで改修コストが増えたり、バグの原因になる可能性も出てきます。
そういったことを防ぐためによく使われるのが次の命名規則になります。主に単語間の記法が異なり、それぞれ呼び方も覚えておきましょう。
| 【キャメルケース】camelCase |
単語の先頭を大文字にする命名規則です。全ての単語の先頭を大文字にするのがアッパーキャメルケースもしくはパスカルケースで、先頭の単語だけ小文字にするのがローワーキャメルケースと呼ばれます。PHPやjsなどの関数で使われることが多いようです。 |
| 【スネークケース】snake_case |
単語の間をアンダーバーでつなぐ命名規則です。DBなどで扱われる値に使用されることが多いようです。 |
| 【ケバブケース】kebab-case |
単語の間をハイフンでつなぐ命名規則です。HTMLではclass名であったり、ファイル名などでもよく見かけます。 |
ハイフンには要注意!
このように、それぞれ違いがあるのですが、
ハイフンを使う場合には少し注意が必要です。jsなどでは、
ハイフンがマイナスの記号として認識されますので変数などには使えません。またWordPressなどでもスラッグなどに使うと
DB側で不整合の原因となる可能性があるため推奨されていないようです。
ですので、jsやPHPなどのプログラミングではキャメルケースやスネークケースを使うことがいいのではないでしょうか。
どれを採用するのがベストか?
命名規則によってパフォーマンスが異なるなどプログラミングに直接的な影響を与えることはありませんが、やはり
可読性をアップしたり、ルールを統一することで複数人での開発をスムーズにすることが目的なのではないでしょうか。
ちなみにグーグルのガイドラインでは単語感をハイフンでつなぐケバブケースが推奨されているようです。HTMLのclass名においてはWordPressやBootstrapなどのフレームワークでも採用されているのが確認できます。
ただし、プログラミングの関数などではキャメルケースがやはり多いようです。PHPのフレームワークであるcakePHPでは、DBのテーブル名などにアンダーバーを使ったスネークケースが使われています。
これらをまとめますと、こんな感じに使い分けられていることになります。
キャメルケース → プログラミングでの関数や変数
スネークケース → DBなどで扱う値
ケバブケース → HTMLのclass名
もちろん、これが必ずしも正解というのはありませんので、開発チーム内でどうするのがベストかということを考えることが大切なのではないでしょうか。上記の例ではバラバラですが、全て統一するのも一つの方法かと思います。ただし、命名規則が原因でバグやエラーが出ないように注意しないといけません。