Ownedmedia ウェブ制作に役立つコンテンツを発信中!

システム・コーディング設計 2018.08.18

命名規則「キャメルケース」「スネークケース」「ケバブケース」についてまとめてみました

Tags: ,
最終更新日:Update

コーディング時にはいろんなルールや規約を設けることが多いかと思いますが、中でも重要なのが命名規則だと思います。細かいようですが、この命名規則についてルールを設けておくことで、複数人での開発をスムーズにしたり、改修時の工数短縮にも効果的です。

 

今回はその中でもよく用いられる「キャメルケース」「スネークケース」「ケバブケース」の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名

 

もちろん、これが必ずしも正解というのはありませんので、開発チーム内でどうするのがベストかということを考えることが大切なのではないでしょうか。上記の例ではバラバラですが、全て統一するのも一つの方法かと思います。ただし、命名規則が原因でバグやエラーが出ないように注意しないといけません。

 

(参考にさせて頂いたサイト)
キャメルかスネークかハイフンかそれが問題だ

この記事を書いた人

オガワ シンヤ

DesignSupply.代表 / ディレクター・ウェブデザイナー・フロントエンドエンジニアをやっています。「ウェブとデザインでヒト・モノ・サービスを繋げ新しい価値を生み出す」をコンセプトに日々奮闘中!制作中はチョコレートが欠かせない三十路Webクリエイター。

  • Twitter

1件のコメント

コメントフォーム

記事に関するご質問やご意見などありましたら下記のコメントフォームよりお気軽に投稿ください。なおメールアドレスは公開されませんのでご安心ください。

内容に問題なければ、お名前・ハンドルネームとメールアドレスを入力いただき、下記の「コメントを送信」ボタンを押してください。

CAPTCHA


この記事もよく読まれています

Scroll to Top
ご質問・ご相談はありませんか ?