
ケバブケース(Kebab-case )とは?現役プログラマーが解説
ケバブケース(kebab-case)とは、開発者が単語間のスペースをダッシュに置き換えるプログラミング変数の命名規則のことです。
プログラミング変数の名前は、説明的であるべきであり、リソースの意味を適切に伝えるためには、2つ以上の単語が必要になることがよくあります。
しかし、ほとんどのプログラミング言語では、単語の間にスペースを入れることができません。
kebab caseの命名規則は、単語間のスペースをダッシュに置き換えることで、この制限を克服しようとするものです。
この用語は、ケバブの串のイメージに由来しています。
shish kebabでは、串が複数の食品をまとめて刺します。
コードでは、ダッシュは串を表し、複数の単語をまとめてリソースの意味を表現します。
ケバブケースとスネークケース
ケバブケースは、スネークケース(snake_case)と同様の命名規則です。
どちらの命名規則も、開発者がコードを読む際に、
単語と単語の間にある空白(kebab caseではダッシュ、snake caseではアンダースコア)が通常の文章のように読めるので便利です。
スネークケースは、キャメルケースの命名規則とはよりはっきりとしたコントラストを持っていまして、
キャメルケースでは、複合語の間のホワイトスペースが削除されます。
また、ダッシュやアンダースコアを大文字に置き換え、次の単語の始まりを表します。例えば、以下のようになります。
- snake_case_example
- CamelCaseExample
- kebab-case-example
スクリームケバブ
開発者がケバブのケースコンベンションで変数にすべての大文字を使用した場合、それはスクリームケバブと呼ばれます。
この言葉は、ソーシャルメディアで人々が大文字を使って文章を入力すると、
叫んでいるように見えることに由来しています。例えば、以下のようになります。
- THIS-IS-A-SCREAM-KEBAB
- this-is-not-a-scream-kebab
ケバブケースの問題点
kebab caseの最大の問題点は、主にダッシュの使用にあります。多くのプログラミング言語は、ダッシュをマイナス記号として解釈してしまい、意図せずにソフトウェアのバグを発生させてしまい、切り分けやトラブルシューティングが困難になってしまいます。
同様に、Jekyllのような多くのプログラミング言語は、ダッシュで区切られた数字を日付だと思い込みます。このような誤解は、スプレッドシートやカレンダーベースのアプリケーションでkebab caseを使用する際に問題となります。
ソフトウェア開発の現場では、一般的にスネークケースが好ましい命名規則となっています。スネークケースは、アンダースコアを持つ変数の複合語の間に最大の空白を作ります。
ケバブケースは便利ですが、開発者はダッシュが非文字コードで意図しない問題を引き起こす可能性があることを認識する必要があります。