コーディング犬に聞く:「class名ってどう付ければいい?」

HTMLやCSSを書き始めた頃。

誰もが一度はやるのが、

<div class="red">

<div class="big">

みたいなclass名です。

動くから問題ない。

そう思うかもしれません。

でも数か月後。

自分で見返した時にこうなります。

「これ何のクラスだっけ…?」

今回は、

「class名ってどう付ければいいの?」

という疑問をコーディング犬に聞いてみました。

質問人

Q. class名って何のためにあるの?

「要素を区別するためだよ!」

例えば、

<div class="service">

なら、

サービス紹介エリア

だと分かります。


CSS側では、

.service{
}

として装飾できます。

つまりclass名は、

「住所」

みたいなものです。

コーディング犬
質問人

Q. 初心者がよくやる失敗は?

「見た目で名前を付けること!」

例えば、

<div class="red">
<div class="big">
<div class="left">

などです。


これの何が問題かというと、

後から変わるから。


例えば、

<div class="red">

なのに、

デザイン変更で青になったら?


<div class="red">

なのに青。

意味不明です。


コーディング犬
質問人

Q. じゃあ何で付けるの?

「役割で付けよう!」

例えば、

<div class="service">

<div class="news">

<div class="contact">

などです。


これなら色が変わっても、

問題ありません。

コーディング犬
質問人

Q. 具体例を見たい!

例えば、

こんなカード。

<div class="card">
<h2>タイトル</h2>
<p>説明文</p>
</div>

これを発展させると、

<div class="service_card">
<h2 class="service_title">
タイトル
</h2>

<p class="service_text">
説明文
</p>
</div>

になります。


見ただけで、

何の要素か分かります。

コーディング犬
質問人

Q. 日本語はダメ?

「基本は英語がおすすめ!」

例えば、

<div class="お知らせ">

でも動きます。


ただし、

チーム制作や実務では、

<div class="news">

が一般的です。

コーディング犬
質問人

Q. 長すぎるclass名は?

「長すぎもNG!」

例えば、

<div class="top_page_main_service_area_box">

みたいなもの。


読みにくいです。


適度に、

.service
.service_card
.service_title

くらいが見やすいです。

コーディング犬
質問人

Q. 短すぎるのもダメ?

「何か分からない!」

例えば、

<div class="a">
<div class="box1">
<div class="test">

数か月後。

100%後悔します。


未来の自分が、

「なんだこれ?」

となります。

コーディング犬
質問人

Q. BEMって何?

「class名のルールだよ!」

例えば、

<div class="service">

の中に、

<h2 class="service__title">

<p class="service__text">

を書く方法。


最近の制作現場では、

よく使われています。

コーディング犬
質問人

Q. BEMは覚えた方がいい?

「実務ならおすすめ!」

ただし初心者はまず、

「分かりやすい名前」

を意識すればOKです。


いきなりBEMだけ覚えようとすると、

逆に混乱します。

コーディング犬
質問人

Q. class名を考えるコツは?

「この要素は何の役割?」

を考えること。


例えば、

見た目で考えると、

.big
.red
.left

になります。


役割で考えると、

.news
.service
.contact
.footer

になります。


後者の方が、

圧倒的に分かりやすいです。

コーディング犬
質問人

Q. プロはどう付けてる?

「誰が見ても分かる名前。」

例えば、

.news_list
.news_item
.news_title

など。


読んだだけで、

構造が理解できます。


綺麗なHTMLは、

綺麗なclass名から始まります。

コーディング犬

まとめ

class名を付ける時は、

見た目ではなく、

役割で考えることが大切です。

例えば、

❌ 悪い例

.red
.big
.left

⭕ 良い例

.news
.service
.contact

そして、

  • 分かりやすい
  • 短すぎない
  • 長すぎない
  • 英語で統一する

これを意識するだけで、

コードの読みやすさは大きく変わります。

未来の自分やチームメンバーが見ても分かるコードを書く。

それが綺麗なコーディングへの第一歩です。

コーディング犬との約束です。