Как да разбираме BEM и какво мотивира кодера да го използва

Като back-end играч ми е трудно да се справя с този BEM. Защо BEM, когато има SASS/SCSS/LESS. Наскоро трябваше да сложа оформлението на двигателя и ето какво видях на първата страница:

Бутонът е прост, фон и цвят. Шест класа за прост бутон при регистрация. Моят код в IDE от JetBrains надхвърля бялата ивица. На въпроса на дизайнера какво е това: "Бам, използвам един и същи стил няколко пъти и т.н." Дълго спорихме, защо не можете да стигнете до дъщерния елемент през родителя? къде е краткостта? къде са миксините? защо не направите наследени класове във вашия SCSS?. И когато прегледах кода през панела за разработчици, видях истинскаMMO RPG PVPбитка, око за око, стил за стил, всичко е прекъснато 3 пъти. Така че за мен BEM като цяло е огромна патерица, а не методология.

Това (в код) не е BEM. Според BEM трябва да е нещо подобно:

В този код button описва стандартния бутон, account__button описва позицията на стандартния бутон в блока на акаунта, а button_black и button_big правят стандартния бутон съответно черен и голям. Този подход ви позволява да използвате повторно стилове. Не ги копирайте отново и отново, а използвайте повторно вече написани. Е, има и други предимства. И само многото долни черти не е непременно BEM, може просто да е странно именуване на класове

къде са миксините? защо не наследите класове във вашия SCSS?

защо не можете да стигнете до дъщерния елемент чрез родителя

На въпроса на дизайнера какво е това: "Бам"

Бяхте нагло излъгани. Това е шиткод.

1) Като back-end'er, какво ви интересуват класовете? 2) Знаете ли разликата между BEM и SASS? BEM е методологиячасове по писане. SASS е препроцесор.

BEM - Това е повече мащабируемост и едва след това сбитост. Забравете селекторите (само ако наистина имате нужда от тях).

И когато прегледах кода през панела за разработчици, видях истинска MMO RPG PVP битка, зъб за зъб, стил за стил, всичко се прекъсва 3 пъти

Това е некадърност на разработчика. BEM няма нищо общо с това.

Така че за мен BEM като цяло е огромна патерица, а не методология

Просто не познавахте дзен на BEM.

Като цяло във въпроса имаш шит а не БЕМ.

Като back-end играч ми е трудно да се справя с този BEM.

Изобщо не трябва да правите това.

Защо BEM, когато има SASS/SCSS/LESS.

Нещо от поредицата "За какво ми е хладилник като не пуша", разбирате ли. :)

Шест класа за прост бутон при регистрация.

Този ефект може да се постигне без BEM.

Моят код в IDE от JetBrains надхвърля бялата ивица.

Това обикновено се решава с помощта на комбинацията Ctrl+Alt+L в JetBrains IDE.

„Бам, използвам един и същ стил няколко пъти и т.н.“

BEM не е измислен, за да"използва един и същ стил няколко пъти", ако прочетете историята, тогава BEM е създаден за решаване на много специфични проблеми, като цяло можете да прочетете за тях в офиса. Уебсайт на BEM (няма да рискувам да го изброя сам, за да не изкривя смисъла).

защо не можете да стигнете до дъщерния елемент чрез родителя? къде е краткостта? къде са миксините? защо не наследите класове във вашия SCSS?

Така че за мен BEM като цяло е огромна патерица, а не методология.

И ако погледнете HTML кода с правилния BEM, той се оказва като самодокументиращ се код в програмирането. Всичко е ясно от имената на класовете и можете да видите коя частоформление независим блок с елементи вътре. Можете да видите състоянието на елементи, като напр

menu__link_active card_shadow button_red section__title_blue

Във вашия пример, резултат от идиотизма на наборчика, можете спокойно да откъснете ръцете му.

А Sass е просто по-удобна работа със стилове. Препроцесорите не осигуряват модулност в работата по проекта. Безспорни удобства - определено, аз самият използвам sass и написах моя собствена адаптивна решетка, когато всичко адаптивно се случва в стилове, а не както в bootstrap чрез поставяне на куп класове и създаване на много влагане, а резултатът е бъркотия в маркирането. Но BEM е различен. Между другото, той идеално пасва на възможностите на препроцесорите!

За съжаление го направи като на шега. - Гоги, харесваш ли Шакира? - Не - Къде го чу? - Моги ми пееше

Доказаха ти едни глупости, давайки ги за БЕМ. И тогава се чудите защо хората не харесват BEM. Да, такива умници плашат хората с глупостите си, а те от своя страна си мислят, че това всъщност е БЕМ.

Съжалявам за злополучното ви запознанство с едно много добро и мъдро изобретение.

И в крайна сметка - всички сме умни, всички знаем всичко, но ровя в интернет и, честно казано, не виждам прилагането на "ноу-хау" в достатъчен мащаб. Навсякъде всичко е криво, наклонено и само някъде (много рядко) се вижда първоначалната идея да се реализира всичко според ума.

Според мен BEM е разбираем само за бекенд работници, това по принцип е единствената здрава идея от тези, които са отпред. Потенциално все още има WebAssembly за премахване на ShitScript, но това все още е перспектива.

Дизайнерът на оформлението трябва да бъде бичуван. и пляска, докато научи.

BEM има само един проблем, а вашият случай не е рядкост, хората изобщо не разбират от масова глупост.

BEM е добър на двеслучаи, или за уеб студио, което има много проекти или за големи проекти. Основната идея е, че първата буква е блок, а всеки блок е абсолютно независим от средата, така че можете да го поставите навсякъде в проекта и да не се притеснявате, за разлика от Bootstrap, в който всичко е обвързано с всичко и когато се опитате да промените нещо, много проблеми изскачат на различни места.