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