Веб-разработка определенно приносит некоторые организационные проблемы. HTML / CSS не совсем идеальная среда для разделения работы. Очень важно определить определенные правила и строго следовать им.
Моя личная тактика, к которой я пришел, - добавлять имена в общих источниках (например, CSS или компоненты разметки) к какому-либо суффиксу модуля. Если вы будете придерживаться стратегии, она приведет к унификации имен по всему миру.
Например:
вместо
div.question_title
div.question_body
вы можете использовать
div.so_question_title
div.so_question_body
div.su_question_title
div.su_question_body
Также согласитесь с командами в отношении некоторых общих данных, таких как цвета цветовой схемы. Определите их где-нибудь на глобальном уровне и используйте их повсюду.
Другая проблема возникает, когда команды работают над разными частями одной и той же страницы. Здесь, если вы разрабатываете компонент страницы, вы можете обнаружить, что однажды что-то сломалось, потому что парни, работающие над самой страницей, что-то изменили, и изменения распространялись по иерархии элементов.
Например, если вы определяете стиль CSS таким образом:
div.main_news *
{
/* ... */
}
это будет напрашиваться на неприятности. Я предлагаю вам, как правило, определять стили CSS с минимально возможной областью 1021 *, достаточной для работы некоторой техники.
Один из возможных обходных путей: каждый подмодуль сначала сбрасывает все стили для своего элемента иерархии верхнего уровня, например:
div.news_container
{
/* Reset styles */
}
так что теперь вы можете работать с модулем в покое, гарантируя, что изменения в некоторых родительских элементах будут остановлены по вашему периметру.
ОБНОВЛЕНИЕ: относительно div с UID. Если вы имеете в виду Facebook, я не уверен, на какие UID вы ссылаетесь. Только скрытые входы имеют в качестве значений длинные загадочные идентификаторы (главная страница, не вошли в систему), но это, вероятно, результат того, что инфраструктура по какой-то причине автоматически генерирует эти значения. Однажды я написал некоторый код (для ASP.NET MVC) для помощников Html, чтобы генерировать уникальные идентификаторы для всего приложения (я хотел связать флажки с метками по идентификаторам полностью автоматически и прозрачно для меня). Другой случай может состоять в том, что основанная на событиях инфраструктура (например, ASP.NET WebForms) имеет уникальные идентификаторы, сгенерированные на стороне сервера, в качестве требования для поддержки ее работы. Каждый элемент управления должен иметь некоторый уникальный идентификатор, чтобы на стороне сервера можно было узнать, какой элемент вызвал событие на странице. Также некоторые редакторы WYSIWYG добавляли автоматические идентификаторы к элементам при их перетаскивании в форму.
Все это, кроме этого, конечно, возможно иметь некоторый сценарий предварительной сборки, чтобы пройти код и внедрить уникальные идентификаторы в части разметки и кода CSS. Но вам действительно нужно точно знать, что и для чего вы делаете. Я лично придерживаюсь мнения, что эта «унификация» в целом может быть достигнута вручную путем применения некоторых простых правил в команде, в то время как некоторую работу, конечно, можно автоматизировать, как я описал выше.