Должны ли классы элементов HTML иметь префиксы в зависимости от их использования? - PullRequest
8 голосов
/ 24 марта 2011

Мне сказали, что это стандартная практика - добавлять имена классов к элементам HTML с помощью "jq" или "js", чтобы дизайнер не конфликтовал с разработчиком.

Я был рядомнемного, и я никогда не видел, чтобы это было сделано, и лично я чувствую, что это создает искусственный и бесполезный разрыв между дизайном и кодом.

Вопрос в том, действительно ли это стандартная практика, и более того, я хотел бы, чтобы ссылки на статьиобъяснение почему это делается (какую проблему это решает).

Ответы [ 6 ]

15 голосов
/ 24 марта 2011

Я являюсь разработчиком внешнего интерфейса в своей организации и поэтому отвечаю за CSS.Я создаю все необходимые классы для макета и пользовательского интерфейса, а также периодически убираю неиспользуемые стили и разметку.

Нашим разработчикам не нужно добавлять классы для представления, но они иногда добавляют классы для Javascript.В этих случаях я попросил их добавить к своим классам js-.

. Это просто помогает мне идентифицировать классы, которые не используются для представления, но все же необходимы для функциональности.Все остальные мои имена классов описывают содержание.

До того, как мы это представили, было намного сложнее поддерживать порядок в разметке (удаляя неиспользуемые классы), поскольку классы могут показаться избыточными (без ссылок в таблицах стилей)), но все еще использовались.

Я не встречал никаких документов, говорящих, что это плохая идея.Это работает для нас, так что это просто вопрос личных предпочтений.

2 голосов
/ 24 марта 2011

Для меня это звучит как старомодное соглашение, особенно в контексте html / javscript / css.

Классы должны использоваться только для разметки. Если в любом случае существуют классы, определенные дизайнером, то они могут и должны использоваться разработчиками. Значения для чисто программных элементов управления должны быть определены с использованием пользовательских атрибутов (http://www.javascriptkit.com/dhtmltutors/customattributes.shtml).. Эта практика вместе с подробными и хорошо продуманными соглашениями об именах в основном позволяет избежать проблем.

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


Edit: Префиксы могут быть полезны внутри плагинов, например, для библиотеки JavaScript, конечно, чтобы избежать конфликтов классов!

1 голос
/ 24 марта 2011

Мало того, что это не стандартная практика (за исключением, предположительно, в вашей организации), но W3C рекомендует против этого .Имена классов должны использоваться для дальнейшего описания содержимого семантических тегов HTML, а не как ориентиры для разработки или .

Я бы ожидал, что HTML-страницы с хорошей структурой будут иметь согласованные классы дляПодобные типы контента, которые идеально подходят для использования JavaScript.

Дизайнер, который не может правильно писать HTML, помня, что разметка HTML должна описывать контент , а не его стиль , не долженнаписание HTML IMO.

1 голос
/ 24 марта 2011

Это не общая стандартная практика, но она может быть стандартной практикой в ​​конкретной организации.

Использование префиксов для указания использования идентификатора называется венгерской нотацией.Он в основном используется для указания типов данных в языках сценариев без строгой типизации, но первоначальное намерение состояло в том, чтобы просто указать любой аспект, имеющий решающее значение для использования идентификатора.что классы, предназначенные для проектирования, не конфликтуют с классами, предназначенными для управления программой.Однако это зависит не от того, кто создает класс, а от того, как этот класс используется.Если разработчик создает сценарий, который добавляет класс к элементам для изменения их внешнего вида, этот класс используется для проектирования, поэтому в качестве имени класса управления программой не следует добавлять префикс.Имя класса, используемое для управления программой, будет использоваться только для этого, и к нему не будет применяться визуальный стиль.

Как и в большинстве практик программирования, более важно выбрать стандарт и придерживаться его, чем выбиратьстандарт, который является абсолютно лучшим.

0 голосов
/ 24 марта 2011

Я, конечно, не слышал об этом как о "стандартной" практике. Читая инструкции и статьи, я никогда не видел префикса в классе.

Тем не менее, может быть удобно использовать префикс имени класса, если вы собираетесь использовать этот класс с jQuery. Это будет легче идентифицировать, а также позволит другим знать, что оно используется функцией.

0 голосов
/ 24 марта 2011

Я не совсем уверен, чтобы быть честным, но могу ли я предложить, возможно, посмотреть на некоторых других веб-сайтах источник HTML и посмотреть, сможете ли вы найти что-то подобное? Веб-сайты, которые популярны или созданы известным агентством, которое, как вы ожидаете, могли бы использовать такую ​​практику, если бы оно было стандартным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...