Подскажите, для чего в БЭМ т.н. "первый уровень вложенности", то есть "блок__элемент"?
В чем сложность иметь допустим только элементы или только блоки (не важно как вы их называете) которые вкладываются друг в друга и имеют модификаторы?
Зачем весь этот цирк с двойным подчеркиванием и якобы вложенностью, но запретом на ее использование?
Запрет мне понятен - из-за того что браузеры сортируют стили по уровню вложенности - чем больше - тем позднее они будут применены, запрет оправдан, то бишь пользоваться осторожно.
А для чего вводить двойное подчеркивание, если элемент может быть с указанным родителем в качестве модификатора?
БЭМ:.calculator {}
.calculator__button {}
.calculator__button_theme_material {}
.calculator__button_color_red {}
Вариант 2:.calculator {}
.button {}
.button_theme_material {}
.button_color_red {}
ИЛИ:
.calculator .button {} (ЧТО БЭМ НЕ РЕКОМЕНДУЕТ...)
ИЛИ:
.button_parent_calculator {}
Понятно, например, что БЭМ был создан в одной _крупной_ российской компании. А как мы знаем, в российской компании начальство как правило в технологиях разбирается с трудом, но считает программистов чем-то вроде тостеров - хлеб вложил, решение получил, и не выпендривается. Но с целью премирования устанавливает требования в виде "гениальных идей". Вот БЭМ родился в качестве такой гениальной идеи, когда руководство было попросту запутано этим бредом. Потом в него вкинулось денег в раскрутку и он стал гениально популярным.
Вопрос почему кодеры так активно кричат "бэм это хорошо", если достаточно было сказать "ребята, научитесь УМНО пользоваться вложенностью", дескать каждый уровень вложенности это как золото, их нельзя делать 22, максимум 2 или 3??
==
Опять же возьмем такой вот пример:
.calculator_theme_material {}
.button_theme_material {}
.calculator__button_theme_material {}
.select_theme_material {}
.calculator__select_theme_material {}
.select__button_theme_material {}
.select__field_theme_material {}
.select__hiddeninput_theme_material {}
.select__input_theme_material {}
....blablabla_theme_material {};
и вот вариант без всяких бэмов:
.calculator {}
.calculator_theme_material {}
.calculator .button {}
.calculator_theme_material .button {}
ну то есть - зачем каждому элементу писать модификатор, отказывая себе во вложенности, если вложенность тут очевидна?
А если делать все равно вложенность, то на какой долбаться с ней без вложенности?
Хотелось бы услышать объяснения без ссылок на "какую-то там статью про бэм" в которой те, кто сломали себе мозг, ломают его остальным. Нужны реальные вещи, на текущий момент БЭМ выглядит как пиарход, отличающий "не-верстальщиков" от "верстальщиков", примерно как Битрикс.
Если ты пишешь на битриксе, ты крут. Осталось смириться с тем, что он ужасен.