写 SCSS 代码应该遵循的原则_html/css_WEB-ITnose
Jun 24, 2016 am 11:19 AM
KISS – Keep It Simple Stupid
“Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.”– Martin Golding
keep sass simple,不要写过度抽象,不要用复杂的语法实现简单的功能。实际上 css 文件不需要很复杂。有了预编译以后,稍不注意就产生过多的层级、巨复杂的选择器了。还有滥用函数,一点点重复都抽象出来。
正确的做法是有逻辑关联的样式才合并到一起。语义上有继承关系的样式,才使用继承。相关的代码不要分散到几百行之外。
DRY – Don’t Repeat Yourself
scss 的变量,extend,mixin 就是为了做这个的。mixin 会生成重复的代码,但是符合 Single source of truth 原则。DRY 不是不让重复(don’t repeat)而是为了保证源头只有一个,源代码只出现在一处,一次修改自动同步到所有的CSS文件。CSS中,机器自动复制出来的的重复,不破坏 DRY 原则。
参考资料:
Single source of truth https://en.wikipedia.org/wiki/Single_source_of_truth
DRY Don’t repeat yourself https://en.wikipedia.org/wiki/Don%27t_repeat_yourself
KISS https://en.wikipedia.org/wiki/KISS_principle
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live学这些名词有什么用?这些简洁的词,有公认的含义。跟别人交流的时候,提到这个词就明白对方在说什么。就像是成语一样,方便交流。

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Schwierigkeiten bei der Aktualisierung der Zwischenspeicherung offizieller Konto -Webseiten: Wie vermeiden Sie den alten Cache, der sich auf die Benutzererfahrung nach der Versionsaktualisierung auswirkt?

Wie verwende ich HTML5 -Formularvalidierungsattribute, um die Benutzereingabe zu validieren?

Was ist der Zweck des & lt; iframe & gt; Etikett? Was sind die Sicherheitsüberlegungen bei der Verwendung?

Wie füge ich PNG -Bildern auf Webseiten effizient Schlaganfalleffekte hinzu?

Was ist der Zweck des & lt; Meter & gt; Element?

Was sind die besten Praktiken für die Kompatibilität des Cross-Browsers in HTML5?

Was ist der Zweck des & lt; datalist & gt; Element?

Was ist der Zweck des & lt; Fortschritts & gt; Element?
