LoginSignup
32
29

More than 3 years have passed since last update.

株式会社オズビジョンのユッコ (@terra_yucco) です。
外部の API なども使いながらプログラミングをしていると、同じ単語でも色々な表現方法に行き当たります。

例えば私の所属している会社オズビジョンの提供サービスの一つ、ハピタスコミック
サービスとしての正式表記はきちんとありますが、以下のような様々な表記が可能です。

  • HapitasComic
  • hapitasComic
  • HAPITAS_COMIC
  • hapitas_comic
  • hapitas-comic

このどの表記も見かけるケースがあるので、それぞれなんと呼ぶのかを調べてみました。

ケース一覧

前提

プログラミング言語では空白を命令の区切りとして扱うものが多いため、英語では hapitas comic などと空白で表現できる言葉を、空白に変わる何かで接続して表現する必要がある。
区切り方法は大きく分けて以下の 3 パターン。

  • 大文字小文字の違い
  • アンダースコア _
  • ハイフン -

ここに大文字小文字のバリエーションなどでいくつかのケースが生まれます。

アッパーキャメルケース / Upper camel case

HapitasComic

  • PHP
    • クラス名は Upper camel case (PSR-1)
  • 別名
    • パスカルケース / Pascal case (Pascal で使われていた)

ロウワーキャメルケース / Lower camel case

hapitasComic

  • PHP
    • メソッド名は Lower camel case (PSR-1)
  • 別名
    • 単に camel case の場合 Lower camel case であることが多い

アッパースネークケース / Upper snake case

HAPITAS_COMIC

ロウワースネークケース / Lower snake case

hapitas_comic

  • PHP
    • 組み込み関数はこれ preg_match str_replace etc.
    • PSR にはこれを使わなければいけない規定はないが、一部 FW (FuelPHP など) では規約にしているケースあり
  • 別名
    • 単に snake case の場合 Lower snake case であることが多い

ケバブケース / Kebab case

hapitas-comic

  • PHP
    • - は減算を表現する演算子のため使用できない
    • CSS 界隈でよく見かける
  • 別名
    • チェインケース / Chain case (鎖のように見える)

アッパーケバブケースってないの?

ここまでは普段よく見かける組み合わせでしたが、ケバブケースの大文字版ってないんだろうかとふと気になって調べてみたところ。
Kotlin 用の extension ですが UPPER-DASH-CASE のような文字列は以下の呼び方をするようです。

  • Upper dash case
  • Upper hyphen case
  • Upper kebab case

また jagaapple を見ると、以下のような呼び名もあります。

  • Train case

なので、厳密にいえば Kebab case hapitas-comic は Lower kebab case なのかもしれません。

気になる点

jagaapple では Upper snake case が HAPITAS_COMIC ではなく Hapitas_Comic と定義されています。
Upper camel case に業務で出会ったら、どちらを意図しているのかきちんと確認したほうが幸せになれそう。

Conclusion

業務中によく見かけて気になっていたケースについてまとめました。

区切り文字 大文字 ケース名
大文字小文字 単語区切り Upper camel
(Pascal Case)
大文字小文字 単語区切り
ただし最初は小文字
Lower camel
(Camel case)
アンダースコア 無し Snake case
アンダースコア 有り Upper snake case
(Constant case)
ハイフン 無し Kebab case
(Dash case)
ハイフン 有り Upper kebab case

PHP では使用しない (できない) ものもありますが、適切に使い分けてより可読性高く規約に沿ったコードを書けるようになればと思います!

32
29
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
32
29