はじめに
ググれば済むことをググるのも億劫なあなたに送ります。
昨今のトイレットペーパーの件よりはある程度正当性こそ担保した上でまとめていますが、
本来諸説あることを調べ散らかして書いているだけなので、
ヤクザに脅されたときに「このQiitaに書いてあったから」と言い訳しても
埋められるのは不可避な旨ご了承ください。
命名規則、ふときになったあなたへ
Railsで諸々書いていると、クラス名ってこんな感じで呼び出しますよね
HageClass.new
単語の先頭だけ大文字にします。
一方でjsでメソッド名を書くとき
hageFunction
先頭の単語は小文字にしますね。
これってどういう違い何でしょうか???
jsの方の先頭小文字はキャメルケース
と言いますよね。
エンジニアなら知ってて当然です。知らないあなたも今日からエンジニアです。おめでとうございます。
キャメルとはラクダのことです。なんでラクダ?
お前のコードなんて砂漠ぐらい不毛だとかディスられているんでしょうか?
他にも
my_class
とdbとかでありがちなアンダーバーで繋ぐやり方をスネークケース
my-calss
の様なハイフンで繋ぐやり方はケバブケース
と言います。
ケバブって何でしょう、急に食べ物??
ケバブといえば秋葉原にこれでもかってぐらいケバブ屋さんありますよね、あれどこが一番美味しいんでしょう
キャメルケースの由来
名前の由来ですが凸凹している感じがラクダのコブに見えるからだそうです。
見え・・・見えますかね?
キャメルケースには二種類あって
先頭も大文字にするのをアッパーキャメルケース
先頭小文字をローワーキャメルケース
と言うそう
冒頭のRailsクラス名なんかはこのアッパーキャメルケースに該当しますね。
そういえばMcDonald
もアッパーキャメルですね。
ただ、一般的にキャメルケースといえばローワーキャメルケース
が一般的です。
アッパーキャメルケースはパスカルケース
とも言われます。
なのでこちらの方がメジャー(なのかもしれない)
ではパスカルケースと命名したのは誰か?当然気になりますよね。
アンダース・ヘルスバーグさんです。
(Wikipedia情報)
ケバブケースの由来
まあキャメルケースがああいう理由ということはケバブケースもなんか察しがつきますね
串刺しになっているからだそうです。
他にも繋がっている様子からチェインケースとも言うらしい。
スネークケースの由来
もうわかりますよね
蛇みたいだからです。
うん、思った以上にフィーリングでした。
全然この辺好みなのですが
my-class_snake_case
みたいにケバブケースとスネークケースが混同されるパターンに
ちょっとだけイラっとする人僕と握手
おわりに
まあだからなんだって話ですが、法則覚えておくと
「ここハイフン繋ぎで」「ここ単語の先頭大文字で!」とかいうより
「ここスネークケースで」「ここはパスカルケースで」と、
共通言語で語れた方がちょっとだけスマートかもしれません。
まあカタカナ使ってしゃらくさい感じは出ちゃいますけど。
ベストフォートでコミットするためには諦めるしかないです。
以上、トイレットペーパーが残り1ロールしかない私がお送りしました。