つい先日コーディング作業をしていたのですが、クラス名がパパっと出てきません・・・。後々スタイルや機能をかえることや開発画面とかから見えていることを気にして考えてしまいますが、名前があってるのかわかんない・・・おそらく永遠の課題です。
例えば、写真のよこや下につけている文章にdescriptionとかexplanationとか幅を持たせるかdescriみたく省略するかのどちらかなのですが、ほぼ文章クラスがdescri化、みたいなこともしばしば。
ただ、クラス名をつけるときに役立つ情報もネットにはたくさん転がっているようですね。
まとめとしていくつか紹介したいと思います。
順序別
→ first、second or primary、secondary…etc
形容的表現
→bright(明るい)、pale(淡い)、Navy(ネイビー)…etc
名詞
→headline(見出し)、content(内容)、 description(記述)…etc
ちなみに「プログラミングの場面でよく使う名詞」も用途や開発する言語によって使い分けされている部分がたくさんあります。
上記で挙げている名詞はコーディングの際によく見るなーと思う自選3語です。
全体的に凡庸性があり、使いやすいが特定しにくい部分もかなりあると思います。
そこらへんは名詞のバラエティー力でカバーしていこうという算段です。
(公式)
→(明瞭なコンテンツ名)_(コンテンツ内の役割名)
コーディング上のクラス命名に沿うBEMルールというのがあるのですが、必須ですね、単語力なければ。上記で挙げた単語群はそれ一語のみで全体を説明できるような語ではなく漠然としているため、こういった形で用いることができれば、ほかの英語力に自信がないエンジニアにとっても理解しやすい(はず)。
(例)
loginというログイン機能に相当するコンテンツ内部にあるボタン機能としてlogin_descriptionなどと命名しておくとどこの部分に相当するのかはっきりしますし、もし二つ以上<p>が並行してもprimaryなどの順序的な形容詞などを用いれば英語の単語を用いる回数を圧倒的に減らすことができます。
phpで機能を実装するときの変数定義内でtoやofなどの前置詞用法を用いればより一層明瞭になります。これらは、基本、語繋ぎの役割を担っています。
例えばですが、value(値)だけだと「何の?」ってなるので、value_for_loginだとか連想させられる形に出来ることがこの記述の醍醐味だと思っています。前置詞の細かい用法を覚える必要がありますが、単語力を増やし瞬発力鍛えるより現実的な方法かなと思います。
たくさんの方法がありますが、ネイティブレベルで細かい詳細な意味合いを知ることよりも組み合わせや公式に沿ったやり方でイメージを簡単にさせることも実用的なやり方とおもいます。
チームや個人によってルールは異なると思いますが、もう少しルール探求を続けていきます。