Skip to content

Commit

Permalink
init
Browse files Browse the repository at this point in the history
  • Loading branch information
veged committed Jan 24, 2010
0 parents commit 0384f92
Showing 1 changed file with 43 additions and 0 deletions.
43 changes: 43 additions & 0 deletions bem-method.wiki
@@ -0,0 +1,43 @@
== БЭМ-метод

=== Задачи

* разделять код на логические части
* разделять ответственность
* повторно использовать
* использовать без погружения в детали реализации
* "многоязычный" код (например как в веб-технологиях, html+css+js)
* добавлять в продакшен рантайм только действительно используемые части
=== Метод

* Блоки
* представлены в нескольких технологиях
* технологии "вторичны", структура блока первична
* могут быть глобальные блоки, влияющие на весь run-time какой-то технологии
* могут быть зависимости между блоками
* Элементы блока
* опциональная часть блока
* Модификаторы блока и элемента
* опциональная кастомизация блока или элемента
* возможно использование нескольких модификаторов и их значений в одном рантайме
* Уровни переопределения
* кастомизации всего рантайма
* Данные блока и элемента
* неформализованная вариативность блока
=== Вариант реализации

* Блоки
* представляются папками по имени блока
* в папке блока лежат файлы (и возможно папки) по технологиям реализации
* Элементы блока
* представляются папками с префиксом "__" внутри папки блока
* в папке элемента лежат файлы (и возможно папки) по технологиям реализации
* Модификаторы
* представляются папками с префиксом "_" внутри папки блока или элемента
* в папке модификатора лежат файлы (и возможно папки) по технологиям реализации
* Зависимости описываются в специальном файле *.require
* Уровни переопределения представляются набором папок с определённым порядком, в которых хранятся описания блоков
* Данные блока никак не формализованны
* Использование блоков

0 comments on commit 0384f92

Please sign in to comment.