Javascript.RU

Голосование: как вы предпочтете назвать имя класса.
Опции опроса
как вы предпочтете назвать имя класса.

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 22.07.2011, 19:00
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Gozar
что пишем сюда?
А про что div? Какой у него смысл? Если это вложенный элемент для вёрстки то я в таких случаях пишу my-app-panel__magazin-element-i. Ну и избыточность полезна только для верхнего уровня (my-app-panel), внутри блока следить за уникальностью гораздо легче, поэтому достаточно осмысленности (my-app-panel__magazin, my-app-panel__magazin-i).


Сообщение от Gozar
у всех div должны быть class?
У всех элементов, к которым ты обращаешься в CSS или в JS должен быть класс.
Ответить с цитированием
  #22 (permalink)  
Старый 22.07.2011, 20:23
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Сообщение от Kolyaj Посмотреть сообщение
my-app-panel__magazin-element-i
то есть получается сначала следить за порядком, а потом нет? ведь по логике должно бы быть так:
my-app-panel__magazin-element__i
, а что делать в случае глобального роста вложенности. Хотя возможно я перестраховываюсь ...
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
  #23 (permalink)  
Старый 22.07.2011, 21:16
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Это ж всё не просто так для красоты, тут решается вполне определённая проблема. Есть у нас много всяких блоков на сайте. За именами блоков мы следим, они должны быть уникальными, иначе мы просто не сможем к ним обращаться. А вот с именами внутренних элементов всё сложнее, т.к. их на порядок больше и следить за всеми ими невозможно, не говоря уже о том, что одинаковые по смыслу элементы могут содержаться в разных блоках.

Поэтому мы делаем так, чтобы имена были локальными внутри блока. Следить за уникальностью внутри одного блока намного легче. Какие будут имена внутри блока (т.е. после префикса) не так важно.

Т.е. порядок состоит в том, чтобы у всех элементов были префиксы того блока, в котором находится этот элемент.
Ответить с цитированием
  #24 (permalink)  
Старый 22.07.2011, 21:40
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Я же не против основной идеи меня смущает только вот это:
Сообщение от Kolyaj Посмотреть сообщение
Какие будут имена внутри блока (т.е. после префикса) не так важно.
когда у меня названия стали принимать вид:
my-app-panel__magazin-element-catalog-a-box   // суфикс --> catalog-a-box

я забил тревогу.
а теперь понимаю что нужно было сделать так:
my-app-panel__magazin-element__catalog-a-box   // суфикс --> catalog-a-box

я немного слукавил в начале, поэтому простите меня за это
и я использовал одно подчеркивание [_], поэтому выглядело это так:
my-app-panel_magazin-element-catalog-a-box   // суфикс --> catalog-a-box
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.

Последний раз редактировалось Gozar, 22.07.2011 в 21:44.
Ответить с цитированием
  #25 (permalink)  
Старый 22.07.2011, 22:24
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Непонятно, зачем добавлять magazin-element перед catalog-a-box. Для того, чтобы обозначить, что catalog-a-box лежит в magazin-element? Так это неважно и даже вредно на этом акцентироваться. Т.е. класс будет my-app-panel__catalog-a-box.
Ответить с цитированием
  #26 (permalink)  
Старый 22.07.2011, 22:53
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Идея была в том чтобы не нужно было следить за уникальностью, т.к. короткое название может повториться и придется придумывать похожее название - синоним. А точнее чтобы исключить подобную вероятность:

Цитата:
При текущей схеме есть очень маленькая вероятность, что два виджета будут иметь одинаковые классы.
только не среди виджетов, а внутри блока. Я кстати писал про то, что возможно перестраховываюсь, но до сих пор не уверен в этом.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
  #27 (permalink)  
Старый 22.07.2011, 23:23
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Gozar
только не среди виджетов, а внутри блока.
Это не понял.

Там в статьях я описываю разработку UI с помощью моего конструктора Widget. Идея в том, что внутри JS-"класса" содержится HTML, CSS для этого HTML и JavaScript, работающий с этим HTML и с вложенными виджетами. У виджета всегда есть имя, т.е. ссылка на виджет, например, App.MyPanel. Из этого имени и строится префикс для классов, чтобы а) префикс был уникальным, б) не надо думать над именем класса. А что после префикса, по большому счёту неважно, но лучше за этим тоже следить, чтобы шаблоны от виджета к виджету не рвались.


Пока писал, понял, что ты имел в виду. Стирать не буду, пусть лежит

Внутри блока выдумывать сложные правила для уникализации смысла мало. Блоки маленькие, весь их html, как правило, влезает в один экран, да и когда ты работаешь над блоком ты думаешь о его частях, тогда как о частях всей остальной системы не думаешь, думалки не хватит Так что внутри блока достаточно осмысленных названий.
Ответить с цитированием
  #28 (permalink)  
Старый 23.07.2011, 02:28
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

От себя добавлю:
.foo_bar .fb_baz {}

А так, вообще стараюсь не плодить идентификаторы. и делаю что-то вроде такого:
#foo > div p
Ответить с цитированием
  #29 (permalink)  
Старый 23.07.2011, 14:00
Аватар для vflash
Профессор
Отправить личное сообщение для vflash Посмотреть профиль Найти все сообщения от vflash
 
Регистрация: 09.07.2007
Сообщений: 304

яндексойды нерепрезентативны для этого опроса. они уже зомбированы выбрать пункт два и они в теме. всеже нужно было было добавить пункт с двумя подчеркиванием чтоб их отсеивать )
__________________
лучшая rss читалка zzreader.com
Ответить с цитированием
  #30 (permalink)  
Старый 23.07.2011, 14:27
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Я начал так писать до того, как стал яндексоидом.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Свойства/методы класса TicTac Общие вопросы Javascript 5 03.07.2011 14:53
Добавление класса для тега dwel87 Элементы интерфейса 9 11.03.2011 11:46
Имя и параметры для function JinglsOrg Events/DOM/Window 2 03.01.2011 01:03
Модуль для работы с модулями JSprog Ваши сайты и скрипты 29 02.09.2009 13:31