В вебе (и не только) есть проблема с терминами. Она вытекает из часто формирующихся в профессиональных средах “птичьих языков”. И вот конкретный пример. Я не знаю, кто придумывал главные термины БЭМа, но этот человек явно не остановился, чтобы спросить себя, а стоит ли использовать именно эти слова.

БЭМ — это методология, система организации процесса создания сайтов. Помимо прочего HTML и CSS кода. Основа этой системы — три термина, которые образуют аббревиатуру БЭМ. Блок, элемент и модификатор.

Проблема в том, что у двух из трех этих слов уже есть другие официальные и не очень значения. Блоком что только ни называют. И основные секции страницы и блочные боксы и вообще, кажется, любую часть страницы. Элемент — собственно то из чего состоит HTML. Но кроме этого этим словом часто называют узел DOM и уже отрисованное содержимое на странице. Более того иногда этими словами могут называть одно и то же! И только слово модификатор не имеет (вроде бы) других значений в этой сфере.

Вот и получается, что если кто-то спрашивает про “этот элемент” применительно к верстке по БЭМу остается только чесать голову. Хорошо, если чешущий догадается уточнить, что имелось в виду. Но как мы знаем, многие думают, что “я тебя услышал” равно “я тебя понял”, а значит ошибки неминуемы.

Конечно невозможно знать, сколько проблем создает или не создает такое недопонимание. Но лично я уже сталкивался с необходимостью уточнять, что я или кто-то еще имеют в виду. Особенно это актуально при обучении. Как можно ожидать, что люди овладеют материалом, если под каждым словом может подразумеваться, что угодно? Кто-то может сказать “просто нужно уточнять” или “из контекста будет понятно”. Но я не считаю, что увеличение вероятности недопонимания — это нормально. Я считаю, что это проблема, которую нужно решать.

Я, конечно, не предлагаю изменять терминологию БЭМ:) Понятно, что уже поздно это делать. Но учитывая, что в день появляется примерно 10 новых библиотек и фреймворков (не говоря уже о новых инструментах и материалов про них) я надеюсь, что может хотя бы кто-то задумается, прежде чем брать названия терминов, которые в этой сфере уже заняты.