コーディングにおけるハイフンとアンダースコアの使い分け
コーディングをする時に、単語間をハイフンでつなぐかアンダースコアでつなぐか(ケバブケースとスネークケース)は、コーディングをする人なら誰しも通る悩みだと思います。
今回はハイフンとアンダースコアについて細かい違いを見て、どちらを使うとより良さそうなのかの判断材料をまとめておきます。
ケバブケースやスネークケースなどに関しては過去記事をご覧ください。
読みやすさ
正直慣れな部分が大きい気がしますが、ハイフンはテキストの真ん中に、アンダースコアは名前の通り下に線が表示されます。
つまり、アンダースコアの方がベースラインの位置に線が引かれてあるため、一般的な英語に近い感覚で読めます。

ただ、ベースラインの位置に線が引かれているため、既にベースラインに線が入っているような場合は、アンダースコアが入っていることに気づきにくくなる恐れがあります。
ダブルクリック時の挙動
Macでは、文章をダブルクリックすると1単語を選択できます。
このときの挙動が、ハイフンで単語感を繋げた場合と、アンダースコアで繋げた場合とでは少し異なってきます。

左がハイフンで繋げた場合で「class」の部分をダブルクリックした状態で、右がアンダースコアで繋げた場合で「class」の部分をダブルクリックした状態になります。
このように、単語を素早く選択した場合に、丸々選択できるかどうかの挙動が変わってきます。
設計方法論や前例に合わせる
CSS設計方法論である「BEM」を使う場合はElementは「–(ハイフン2つ)」、Modifierは「__(アンダースコア2つ)」という風にルールが決まっています。
また、前例がない場合は正直ハイフンでもアンダースコアでもどちらでも良いのですが、既に他の制作者がコードを書いている場合は、それに合わせる必要も出てきます。




Gitで最初に設定しておくユーザー名とメールアドレスのグローバル設定
HTMLタグの入力をラクにするスニペット集
Visual Studio Codeの「Debugger for Chrome」でJavaScriptのデバッグを行う
CSSの読み込みで「its MIME type (‘text/html’) is not a supported stylesheet MIME type」エラーが表示されて読み込みができない場合の解決方法
Visual Studio Codeで正規表現にマッチするか確認できる拡張機能「Regex Previewer」
gulp-sass 5の「does not have a default Sass compiler」エラーを解消する
Nuxt.jsでのページ遷移設定方法(Vue Routerやnuxt-link)|Nuxt.jsの基本
Visual Studio Codeのエクスプローラー上でファイル・フォルダの複製ができるようになる拡張機能「Duplicate action」
npm-scriptsでSCSSをコンパイルする環境を構築する方法
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
Bartender ProのTop Shelf機能でできること
高機能なスクリーンショットアプリ「CleanShot X」
macOSの効率化に関するDiscordコミュニティ「CMD-F」を立ち上げました
1Passwordの開発者向け機能(SSH Agent / Environments / 1Password CLI / Developer Watchtower)
Default Folder Xで保存ダイアログ内のファイルリストにフォーカスする方法
Obsidianで整理した知識をAnkiで定着させる方法
Figma × Keyboard Maestroでどこまで効率化できる?
マウス操作の完成度が高いウインドウリサイズアプリ「Magnet」
Macで複数ディスプレイを使っている場合に便利な設定集
AppCleanerでMacアプリを関連ファイルごと完全に削除する