命名規則「キャメルケース」「スネークケース」「ケバブケース」についてまとめてみました
システム・コーディング設計コーディング時にはいろんなルールや規約を設けることが多いかと思いますが、中でも重要なのが命名規則だと思います。細かいようですが、この命名規則についてルールを設けておくことで、複数人での開発をスムーズにしたり、改修時の工数短縮にも効果的です。
今回はその中でもよく用いられる「キャメルケース」「スネークケース」「ケバブケース」の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名
もちろん、これが必ずしも正解というのはありませんので、開発チーム内でどうするのがベストかということを考えることが大切なのではないでしょうか。上記の例ではバラバラですが、全て統一するのも一つの方法かと思います。ただし、命名規則が原因でバグやエラーが出ないように注意しないといけません。
(参考にさせて頂いたサイト)
キャメルかスネークかハイフンかそれが問題だ
制作のご依頼やお問い合わせ・パートナー業務提携のご相談はこちら
デザインやウェブ制作についてのご依頼やご相談、その他お問い合わせなどもお気軽にご連絡ください。フットワークの軽さやレスポンスの早さ、また豊富な経験や知識、技術を活かした対応力といったフリーランスクリエイターの強みでクライアント様、パートナー企業様のお力になります。デザインからコーディングやWordPress実装といったウェブサイト構築はもちろん、写真撮影や動画編集、コンテンツ制作からサイト運用サポートまで一括してお任せください。
ホームページ制作のご検討やウェブ運用でお悩みの経営者様や企業のウェブ担当者様をはじめ、個人で店舗を営んでいらっしゃるオーナー様、フリーで活動されているビジネスオーナー様はもちろんのこと、リソース不足でお困りの制作会社様、またクリエイターをお探しの代理店様も大歓迎です。
コンタクトをご希望の方はお手数ですが、下記よりお問い合わせフォームのページへアクセスしていただき、必要事項を入力の上メッセージを送信してください。確認でき次第すぐに折り返しご連絡致します。