Есть ли в SASS подводные камни, подобные препроцессору C?

#css #sass #c-preprocessor

#css #sass #c-препроцессор

Вопрос:

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

Я объяснял, что SASS похож на препроцессор C, и это вызвало вопрос. У препроцессора C есть несколько очень полезных применений: возможно, определение констант или включение файлов заголовков. Но есть также определенные вещи, которые «считаются вредными», в частности, использование препроцессора в качестве инструмента для выполнения работы функции, в то же время обходя накладные расходы на использование функции. Препроцессор занимает важное место, но если у вас есть выбор между реализацией чего-либо с помощью макросов препроцессора и реализацией этого как функции, скорее всего, вам следует использовать функцию, а не препроцессор.

Существуют ли какие-либо подобные подводные камни для использования SASS?

Ответ №1:

Поскольку SASS (и, действительно, любой подобный инструмент) предоставляет функциональность, ортогональную функциональности базового CSS, я думаю, что опасности значительно уменьшаются по сравнению с препроцессором C.

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