Вероятно, все наслышаны о методологии БЭМ, разработанной Яндексом. Кому-то она нравится, кому-то нет. Кто-то считает её совершенной, кто-то — избыточной. Я считаю идею БЭМ отличной, но зачастую она используется не совсем оптимально. Отсюда появляются возгласы о её громоздкости и нелаконичности выходного кода.
Тем не менее, где-то в 2010 году я начал пробовать БЭМ в работе. В чистом виде пользоваться им было сложно по ряду причин, основными из которых являются:
- Абсолютное отсутствие лаконичности в названиях классов;
- Неоправданный отказ от многих возможностей CSS-селекторов;
- Недостаточное уделение внимания префиксам, которые могли бы оказать заметную помощь в достижении большей читабельности кода.
Из-за этих недостатков БЭМ непрерывно модифицировался мною, и в итоге получилось найти
такую схему, которая остаётся лаконичной, лёгкой в поддержке, а также подходит
для использования во всех моих проектах (от мала до велика).
В тексте статьи
я буду называть её AzaBEM, так как разработали её в AzaGroup.