BEMってどうよ的な流れ。

タイトルがすべてさ。
7
闇鍋 @_346_

それでも自分で書いて自分だけが運用するなら、リャマみたいな気違いじみた書き方しててもいいと思うし、それが BEM の本意なのかもしれないけど、フレームワークとして汎用性を持たせた作りを考えたら、冗長なスタイル構造というのは出来るだけ避けたいと思うわけ。

2013-10-02 17:11:08
リャマ㌠ @roatnek

ul li aなリンクリストモジュールがあります。そのul, li, aすべてにclass nameを付けます。どうこれ?

2013-10-02 17:11:23
リャマ㌠ @roatnek

ルールに厳密に従ってみて実感できたのは、BEMは確かに冗長だけどそれを冗長としか感じられないのはその程度のメリットしか得られていないということ。逆にいうと冗長さを超えるメリットをBEMという開発手法から得られないんであれば採用すんなということですわ。

2013-10-02 17:13:06
闇鍋 @_346_

@roatnek だよねえ。HTML が冗長か、CSS が冗長かをとるなら、断腸の思いで HTML の冗長さをとるかなあ。そっちの方がフレームワーク「っぽさ」を感じる。CSS や Sass がごちゃごちゃしてるのは、よろしくないと思うの。

2013-10-02 17:13:34
リャマ㌠ @roatnek

あんなもん機械向けやろ。ちっともヒューマンフレンドリーじゃない。人が手で書いて目で見てっていう運用が主なんであれば苦痛でしかないに決まってる。

2013-10-02 17:14:11
Kotaro Kokubo @kotarok

@_346_ div に付けても hn に付けても同じスタイルになる .hdg-foo みたいな基本見出しスタイルを定義しておいて、hn しかなければそれにつけるし、課題のケースなら div に付ける。

2013-10-02 17:14:34
Kotaro Kokubo @kotarok

@_346_ BEM 的かどうかは分からないです。(そもそもあんまり BEM がいいと思ってないのですが)

2013-10-02 17:15:18
闇鍋 @_346_

@kotarok 今ちょうど話してた人も同じ回答でした。そのぶん CSS が冗長になってなんかそれってバカっぽくない? って話をしていたところです。

2013-10-02 17:15:54
リャマ㌠ @roatnek

@_346_ フレームワークという汎用性に重きをおいたシステムであれば、より多くの人がさわりやすいHTMLにすべてを盛り込むほうがいいからね。でも普段の案件ではHTMLでいろいろやらせずとも、特に頭を悩ませずとも実装できるほうがいいと思う。バシッと1つのclass名で指定とか。

2013-10-02 17:16:12
リャマ㌠ @roatnek

誰が何を見るか(触るか)を念頭に置いて、CSSに秘匿するのかHTMLに盛り込むのか決めてる。拡張性汎用性と呼べば耳触りがいいけど、自分は基本「選択肢は少ない方がいい」と考えているのでそういう運用になるようコードは大体CSSに秘匿する。

2013-10-02 17:18:34
リャマ㌠ @roatnek

まあ前提がフレームワークっぽいからそれだと話は別やけど

2013-10-02 17:18:57
闇鍋 @_346_

@kotarok div.foo > hn と hn.foo が同じスタイルを持つようにスタイルを書くことが冗長だと感じるんですよね。Sass なら extend で解決する話ですけど。

2013-10-02 17:19:29
リャマ㌠ @roatnek

でもBEMの(自ずとそうなる)長ったらしいclass名はとても好きよ。ひと目でそれが何か理解できるからJavaScriptから参照するときすごく楽。名は体を表わしてる。JS用のclass定義も不要やし。すべてのclassをみんなで使う。みんなでそれを呼び合う。そこはすばらしい。

2013-10-02 17:21:43
Kotaro Kokubo @kotarok

@_346_ ああー、見出しっぽい要素の中にリンクっぽい要素が入ってるんじゃなくて隣接して組み合わさってるようなケースの話ですか。なるほど。

2013-10-02 17:22:36
Kotaro Kokubo @kotarok

@kotarok @_346_ だとしたら僕ならそれは見出しモジュールのバリエーションというよりはレイアウトモジュールの一種にしてしまいそうですね。

2013-10-02 17:24:52
リャマ㌠ @roatnek

とりあえずこの案件が終わったらBEMは捨てる。そして当分この案件のメンテナンスが来ないことを願う。

2013-10-02 17:25:25
Kazuhito Kidachi @kazuhito

「BEM に囚われ過ぎた人々」映画化してほしい。

2013-10-02 17:27:03
闇鍋 @_346_

@kotarok なるほど。見出しの一種ではなく、見出しを含んだレイアウトモジュール、ということですかね。

2013-10-02 17:27:48
闇鍋 @_346_

だから div.foo は心の中にあるんだよでいいじゃないか(憤慨)

2013-10-02 17:28:40
Kotaro Kokubo @kotarok

正直、BEM の魅力が全然わからない。6~7年前に同じようなことやってた気がするけどもっとフレキシブルにやった。

2013-10-02 17:30:44
リャマ㌠ @roatnek

とりあえずこの牢から出たらモジュールカテゴリ的接頭辞に基づくclassネーミングも捨てることにする。blockはblockでしかない。どのblockも対等。そういう認識でいるほうが名づけ上のメリットが大きいことをBEMで学んだので。

2013-10-02 17:31:06