tenshi,
Презентация была про то чтоб верстать объектно (разбить на мелкие части и верстать маленькими кусками). Так сказать для популяризации. Ничего нового в этом нет. БЭМ это способ создания уникальных имен классов, один из многих которые можно придумать. В своей практике выработались свои правила наименования, и они мне видятся более правильными. приведу пример почему способ наименования принятый в БЭМ не самый удачный: При верстке каждый объект описывается в своем шаблоне. Имя этому шаблону задаю такоеже как и имя объекта. И тут есть проблема у БЭМ, не все шаблонизаторы позволяют использовать дефис в имени шаблона. Еше в редакторе (Notepad++) при двойном клике по имени объекта, это имя объекта будет выделено полностью если в нем использовано подчеркивание , а если будет дефис то выделено будет не полностью . Мелочь , но очень удобно в практике. Еше так нельзя var column-proxy = document.querySelector(".b-page-layout__column-proxy"); а так можно var subj_firstline = document.querySelector(".b-mbox_row-subj_firstline"); это удобно если имя класса измениться, то могу в редакторе за рас менять и css и названия переменных. я бы стал использовать правила принятые в БЭМ , потому как его многие стали применять, но он мне неудобен в этих мелочах. |
подчёркивание визуально длинее дефиса. и как следствие сильнее разделяет слова. проблема с дефисом в именах шаблонов остаётся и в твоём случае, только реже проявляется (когда для одного модуля нужно несколько шаблонов). по даблклику логичнее было бы выделять вообще всё имя целиком. с ctrl+backspace аналогично.
поэтому лучше так: var subjFirstLine = document.querySelector(".mboxRow_subjFirstLine"); |
Цитата:
Цитата:
|
Цитата:
Цитата:
я ведь не про то как правильно назвать, а о том чтобы об этом вообще не думать. Есть имя у элемента , на него уже было потрачено время чтобы придумать так зачем еще тратить когда можно это сделать копипастом. Цитата:
можно ведь назвать и так. так класс(css) даже привычней выглядит. var subjFirstLine = document.querySelector(".b-mboxRow-subjFirstLine"); --- Еще в редакторах Ctrl-[вправо/влево] перемешает курсор по словам, а подчеркивание воспринимают как часть слова. Потому дифис как разделитель и тут оказывается более удобным. _ |
vflash,
Думаю в случае просмотра или совместной разработки, человеку смотрящему ваш код, придется поломать голову, привыкая к нижним подчеркиваниям. Меня сейчас больше интересуют префиксы. Например целесообразно ли использовать префиксы: f - форум, p - персональный, ph - фотосервис ну и т.д. помимо b и i ? На небольшом проекте мне это кажется очень удобным, возможно и на большом будет нормально. По поводу повторного использования я в курсе. |
Цитата:
Цитата:
Цитата:
|
Цитата:
Цитата:
|
префиксы нужны для предотвращения конфликтов. поэтому все имена конкретного программиста должны иметь его префикс. или все имена программистов определённой группы, которые могут друг с другом договориться,чтобы не конфликтовать. при этом одни имена в разных местах должны иметь один префикс (например, класс в цсс и соответствующий скрипт в жс), но при этом имена относящиеся к разным сущностям должны иметь разный префикс (например, у меня есть функция $jam.$doc возвращающая ссылку на документ, а есть модуль wc:doc содержащий базовые стили и скрипты для документации). хотя по хорошему один из них лучше переименовать, чтобы самому же путаться и чтобы не было конфликтов, когда импортируются оба пространства имён типа такого:
with( $jam ) with( $wc ) { // some code } |
Цитата:
|
очень просто: открываешь директорию с модулями, пытаешься создать новый и тебе выдётся ошибка что такой модуль уже есть.
|
Часовой пояс GMT +3, время: 19:40. |