前にも BEM の話で疑問に挙げたけど、.foo のクラスを持つ見出しモジュールがあったとして、見出しの横にリンクがついたりすると .foo の親要素として div 等が必要になるわけだけど、その時、BEM の視点からその div にクラスをつけるとしたらどうすべきなのか? と。
2013-10-02 16:39:47@_346_ そのdivが.fooになって.fooだったものが.foo__elementになる。見出しの横に付いたりするリンク(fooのelement)はあったりなかったりするけどそれでいいと思う。
2013-10-02 16:41:37BEMは、というかああいう厳密なネーミングルールはJavaScriptから触るとすごく便利。でもそのちょっとしたメリットのために「すべてに名前を付ける罰ゲーム」をやらなあかんのは割に合わんのが実感。
2013-10-02 16:43:57@roatnek てことは div を用いない場合でも、div.foo はあるものとして、見出しモジュールには .foo__element ってつけるってこと?
2013-10-02 16:44:39@_346_ 今流行ってる BEM 的にどうなのかはわからないけど、昔 BEM 的なことやってた時には .has-link みたいなのつけてましたね。BEM 的には ***_haslink みたいな modifier になるんですかね。
2013-10-02 16:46:01@kotarok 最初から div.hdg > hn.hdg__body みたいな定義にしておいて、div.hdg.hdg--haslink ってことになるんでしょうかね。
2013-10-02 16:48:15@_346_ ん? そのdivって当初は包含ブロックとしてのdivだったところを格上げして、そいつをblockにして.fooと定義し、かつて見出し+blockだった.fooは.foo_headingとかのelementになって、っていうことやで?
2013-10-02 16:48:28@roatnek てことは、div.foo > hn.foo__elem と hn.foo が同じスタイルを持つってことだよね? なんかそれってバカっぽくない? 無駄っつーか。
2013-10-02 16:49:50そんなことより.fooに.foo__buttonと.foo__linkがあって、それらをいじるmodifierが必要なら.foo__button--disabledと.foo__link--disabledを定義しろっていうのがBEMの教え、ていう理解でいいのかな?
2013-10-02 16:54:59もっぺん言います。hn.foo という見出しモジュールを定義しました。hn.foo は Block です。で、この hn.foo を div で包含する必要が出てきました。その時の div と hn のクラス名を答えよ。
2013-10-02 16:55:13俺の答えは div.foo > hn.foo__elem で、div を持たない場合でも「一時的に div が無くなってるものとして」hn.foo__elem とすべきなんじゃないかと。div があってもなくても hn.foo__elem にしておく。
2013-10-02 16:56:59「このモジュール、なんで .foo__elem から始まってるんですか?」って突っ込まれても、「.foo はみんなの心の中にあるんだよ」と答える。
2013-10-02 16:59:14elementがあったりなかったりしてもいいが、blockに包含されてないelementっていうのは構造上有り得ないやろ。というかそういう構造は認めようがないやろ。BEMツリーを考えたら。
2013-10-02 16:59:31BEMはただのネーミングルールじゃなくて(そこだけを拝借してもいいとは思うけど)BEMツリーっていうツリー構造を「みんな」が順守することで様々なソフトウェア的メリットが生まれるという開発手法だと理解しているので、ツリーに矛盾を与えるような例外はダメ絶対だと考えてる
2013-10-02 17:01:58だからって div.foo > hn.foo__elem と hn.foo が同じスタイルだから二度書きましょうねってそりゃアンタどうかしてんじゃあねえのかって思うぜ。Sass でなんとかそれっぽくまとめられるだろうけど。
2013-10-02 17:05:40普通に考えてメリットの半分も受けられないので、わたくしとしては今後「厳密BEM」をやることはないでしょう。それを体感するためだけの本案件での採用であったわけやし。思った通りの部分と思った通り以上の部分といろいろデータが得られたので、これを元にまた違った俺スタイルを進めていく所存。
2013-10-02 17:09:12@_346_ なるよなるよ冗長のかたまりで気が狂いそう胃が痛くなる。あとで呼ぶかどうかわからんやつにも名前を先につけておくんやぞ、どんだけコスト高いねん思うわ。
2013-10-02 17:10:17