Таблицы стилей CSS имеют привычку увеличиваться и хаотично с течением времени.
Существует множество правил, советов и школ мысли, которые помогают достичь более чистого CSS. (Например здесь). Тем не менее, все они требуют постоянной активности, активности и много дисциплины на стороне сопровождающего, со смешанным реальным успехом. Как Николь Салливан так красиво говорит:
Фактически, в большинстве случаев вещи, которые мы рассматривали как лучшие практики, приводили к плохим результатам, которых мы стремились избежать. Я понял (непопулярный, хотя это может быть), что мы не смогли бы это сделать хорошо, пытаясь усерднее. Каждый раз, когда мы начинаем новый проект, мы думаем: "На этот раз я буду держать код в чистоте. На этот раз проект станет ярким примером того, что можно сделать с помощью CSS". И непременно, со временем, когда на сайт добавлено больше контента и функций, код становится спагетти-клубом дублирования и непредсказуемости.
Есть ли какие-либо попытки создать какой-то язык со строгими структурными правилами и беспощадным компилятором, который предусматривает строгие правила, которые препятствуют тому, чтобы таблицы стилей становились спагетти? Скомпилированный конечный результат будет CSS.
Я понятия не имею, как будет выглядеть такой язык, и с учетом огромного количества возможностей и комбинаций это разрешимая проблема вообще.
Есть ли какие-либо исследования в этой области? Что-нибудь попробовать?
Один очень интересный связанный инструмент CSS Lint, но то, о чем я прошу, идет еще дальше.
Изменить: LESS и SASS абсолютно идут в правильном направлении, но они не то, что я ищу. Они вносят некоторые очень приятные функции и являются находкой для разработчика CSS, но то, о чем я, спрашиваю, идет еще дальше и больше в определенные, принудительные структуры.