| 
 имена классов в html верстке навалял года полтора назад статейку. сейчас обновил , дополнил умосоображениями. выделил понятие обьект и элемент. обосновал зачем нужны префиксы и уточнил их роль. известным аналогом является БЭМ . на текуший момент основные отличия это другие "разделители", подход к префиксам, также отличается понятие модификатор. в сочетании с domMaster и css_стилей в js коде (пример) получается убойная штука. | 
| 
 вообще, для меня основное преимущество подобных подходов - упрощение поддержки, т.е. поменьше наследования и связей. Вот недавно понял, что лучше написать отдельные стили для нескольких контейнеров, пусть и похожих, чем сделать один компонент, который учитывает все варианты. Дизайнеры, они ведь такие люди, что обязательно скажут: "А вот здесь пожалуйста на 1px больше" :) От префиксов сейчас решил попробовать отказаться, по-моему они не дают значительной выгоды. Для имен использую camelCase (имяКомпонента-имяЭлемената), да и вообще на клиентской стороне - в результате проще искать по проекту. И собственно по этой же причине идея с дефисом в именах мне больше всего не нравится, в этом случае vim считает такое имя, состоящим из нескольких слов. Цитата: 
 | 
| 
 Цитата: 
 Цитата: 
 
<style>
    .b-project_ubutton--icon .icon {....}
</style>
<button class="b-project_ubutton b-project_ubutton--icon">
    <span class="b-project_ubutton-icon icon">..</span>
</button>.
но это на этапе разработке а позже ".icon" привожу по возможности к полной форме 
<style>
    .b-project_ubutton--icon .b-project_ubutton-icon {....}
</style>
<button class="b-project_ubutton b-project_ubutton--icon">
    <span class="b-project_ubutton-icon">..</span>
</button>
естественно такое можно делать только с соблюдением "независимости блока" так что префиксы полезны. да и потом в проекте всегда присутствуют чтота не из этой схемы и префикс упрощает идентифицировать эти моменты | 
| 
 ну смотри, есть две крайности: абсолютная универсальность и отсутствие связей вообще. Реальность где-то между, причем если и можно найти среднее арифметическое, всем оно не подойдет. Мне сейчас мешают связи, поэтому я от них избавляюсь. | 
| 
 вообще, наверное, в первую очередь дело в том, что я решил сделать для форм какой-то общий стиль. А потом пожалел. Но в любом случае, я модификаторами почти не пользуюсь, посмотрим... | 
| 
 ... пример придумал, в контакте есть информация о пользователе (имя: ..., университет: ..., город: ...) в списке пользователей и на страничке профайла. Ты бы сделал это отдельным компонентом? | 
| 
 лакировка. теперь "компонент" называют "объектом"  :) это слово хорошо вписывается и в интернете встречается. если подобная структура встречается в разных объектах то стоит выделить ее в новый объект, ито не факт что стоит. а там вроде такое встречается только в одном месте и сам по себе конструкция небольшая. яб не выделял в новый обьект. каждый случай индивидуален. создавать слишком большие объекты не оправданно это точно можно сказать. Потому как вся суть заключается в том чтоб арбуз сперва разрезать и по кусочкам съесть, а не все за рас. Вот насколько тонко резать ломтики это кто как умеет и кому как нравиться. | 
| 
 там минимум три места похожих: в списке друзей, в поиске и на странице профайла, причем на странице профайла расстояние между строками чуть больше. Но вообще да, это какие-то неважные детали. Хотя я на самом деле собирался спросить, одним бы ты компонентом ты это сделал или двумя. а слово объект по-моему не подходит: оно более общее и не обязательно обозначает что-то визуальное. Да и подобных названий и так много: элемент, виджет, компонент. Зачем еще одно? | 
| 
 vflash, А есть ссылка на какойнибудь готовый сайт с использованием этого приёма? я по коду лучше пойму.... | 
| 
 x-yuri,  <div class="clear_fix miniblock"> <div class="label fl_l">Любимые игры:</div> <div class="labeled fl_l">...</div> </div> если речь об этом то там вроде только в одном месте. потому не стал бы делать новый объект. можно выделить в отдельный объект а не понравиться потом слить обратно, и это нормально. Цитата: 
 Seva1986, можно смотреть у яндекса к примеру. только нужно учитывать что там другой стиль наименования классов, термины чуть по другому. а принципы тежи, разбить на небольшие обьекты и верстать их по отдельности. и еше к примеру верстка прошлых лет немного отличается от того что сейчас верстают, потому как методика развивается. и это тоже нужно учитывать. тут мои http://vflash.ru/xm/dev.html http://mail.rambler.ru/m/beta/#/contacts есть еше но не покажу. | 
| 
 Цитата: 
 спасибо ознакомлюсь.... По второй ссылке нужна авторизация... | 
| 
 Цитата: 
 Цитата: 
 можешь вот это еще почитать... | 
| 
 Цитата: 
 доклад Харисова дал основу. точнее удачное название доклада "Вёрстка независимыми блоками" , а сам доклад очень долго не мог найти. И сейчас документация для БЭМ появилась вот только этой осенью ито если не понимать смысла происходящего то сложно понять о чем она. | 
| 
 Я когдато применял подобный подход, но потом почемуто ушёл от него, но считаю эту идею правильной, ооп должно быть везед где можно... вот кстати способствующие этому нововведения css http://habrahabr.ru/blogs/css/112101/ | 
| 
 я бы сказал, что идея в упрощении поддержки, для этого мы уменьшаем количество связей и разбиваем на блоки Цитата: 
 | 
| 
 Цитата: 
 НО там где МОЖНО должно быть.... | 
| 
 можно развести костер прямо в доме, но я бы этого не делал. Твоя фраза пропагандирует бездумное использование. Использовать надо если нужно, а не можно. Я понимаю, что тебе очень нравится ООП, но это не значит, что его нужно пихать во все дыры. ;) | 
| 
 x-yuri, Моя фраза говорит какраз о том что что ООП нужно использоать там где необходимо... и именно это пониметься под словом можно... а не без думное желание пихать его во все дыры... имелось ввиду где можно (есть необходимость ,надобность) а не можно как разрешение пихать везде где влезит... | 
| 
 наткнулся только что: Цитата: 
 | 
| 
 Цитата: 
 префиксы нужны. без них будет каша как в голове так и на выходе в верстке. b- это каркас. какбы объект в голом виде. (o- не красиво выглядит) m- класс от родительского объекта. часто из за лени оставляю как b-. но если выставить то упрощает восприятие результата. s- использую для классов которые рассчитаны для разных скинов. удалив эти классы каркас не сломается. можно запросто клонировать объекты изменив имя объекта и удаляя эти классы. i- у меня это картинки в background . можно как в БЭМ сказать что это чтота там. стоит заметить что у меня префикс не является частью имени объекта. в БЭМ это часть имени объекта. И может по этому в БЭМ префикс дает подсказку на вопрос "что это за объект?" , в моем случаи "что это за класс?" | 
| 
 префиксы нужны и не только в цсс. как бы ни хотелось "не повторять себя", но при рефакторинге это сильно окупается. http://habrahabr.ru/blogs/personal/97670/ | 
| 
 кстати, обрати внимание на строчку  
.b-person-info.m-user { border-color: red }
без пробела между классами означает пересечение, так что если есть возможность забить на ие6, то такой способ предпочтительнее. чем 
.b-person-info_user { border-color: red }
 | 
| 
 Цитата: 
 
<style>
.eee.ccc {color:#F00;}
.sss {color:#0F0;}
</style>
<span class="eee ccc sss">text</span>
да и выигрыша по байтам нет, что так что так практически одинаково. правила где есть зависимость конечно растягивает, но gzip это решает. возможно я ошибаюсь. | 
| 
 не все могут просмотреть твою ссылку, tenshi | 
| 
 там регистрацию чтоли требуют? | 
| 
 ага Цитата: 
 | 
| 
 вот и публикуй после этого статьи на этом недоресурсе =_=" | 
| 
 скопировал сюда: http://javascript.ru/node/12075 | 
| 
 делал маленький "доклад" среди своих в компании.  вот презентация . без озвучки это конечно неочем. | 
| 
 бэм со своими разделителями? а смысл? | 
| 
 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, время: 02:26. |