鍍金池/ 教程/ HTML/ 簡介
簡介
語法格式
循環(huán)
響應(yīng)式設(shè)計(jì)和斷點(diǎn)
擴(kuò)展
條件語句
結(jié)構(gòu)
注釋
工具
混合宏
變量
命名約定
警告和錯(cuò)誤
總結(jié)概要

簡介

為什么需要一個(gè)樣式指南

一個(gè)樣式指南并不是一份便于閱讀并使代碼處于理想狀態(tài)的文檔。它在一個(gè)項(xiàng)目的生命周期中是一份關(guān)鍵文檔,描述了編寫代碼的方式和采用這樣方式的原因。它可能在小項(xiàng)目中顯得有些矯枉過正,但卻能在保持代碼庫整潔,提高可擴(kuò)展性和可維護(hù)性上提供諸多便利。

不用多說相信你也可以理解,參與項(xiàng)目的開發(fā)者越多,代碼樣式指南就越顯的必要。與之相同,項(xiàng)目的規(guī)模越大,代碼樣式指南也會(huì)越加重要。

Harry RobertsCSS Guidelines 就非常好:

樣式指南(注意不是視覺風(fēng)格指南)用于團(tuán)隊(duì)是一個(gè)很有價(jià)值工具:

  • 長時(shí)間內(nèi)便于創(chuàng)建和維護(hù)項(xiàng)目
  • 便于不同能力的和專業(yè)的開發(fā)使用
  • 便于任何時(shí)間加入團(tuán)隊(duì)的不同開發(fā)人員
  • 便于新員工培訓(xùn)
  • 便于開發(fā)人員創(chuàng)建代碼庫

免責(zé)聲明

首先第一件事是:這不是一份 CSS 樣式指南。本文檔不會(huì)討論諸如約定 CSS 類名、模塊化開發(fā)模式和有關(guān) ID 的疑惑等 CSS 范疇內(nèi)的問題。本文檔中的準(zhǔn)則只著眼于處理 Sass 的專有內(nèi)容。

此外,這份樣式指南是我獨(dú)創(chuàng)的,所以會(huì)顯得有些個(gè)人主觀傾向。你可以將它看成是我通過多年實(shí)踐研究出的方法和建議的集合。這也讓我有機(jī)會(huì)接觸到少數(shù)極具見地的資源,所以一定要瀏覽一下擴(kuò)展閱讀

顯然,這里講的肯定不是進(jìn)行 Sass 編程的唯一方式,而且它是否符合你的項(xiàng)目要求還有待檢驗(yàn)。

核心原則

最后,如果有一件事是我想從整個(gè)樣式指南中傳授的,那就是:Sass 以簡為美,簡約至上。

感謝我過去使用 Sass 時(shí)傻傻的嘗試,比如 bitwise operators、iterators and generatorsa JSON parser,從而認(rèn)識到了可以用預(yù)處理器來做什么。

同時(shí),CSS 是一門簡單的語言,那么 Sass 在書寫常規(guī) CSS 的時(shí)候就不應(yīng)該更復(fù)雜。KISS principle (Keep It Simple Stupid) 在這里是一個(gè)核心原則,甚至在有些情況下要優(yōu)先于DRY principle (Don’t Repeat Yourself)。

有時(shí)候,一點(diǎn)點(diǎn)重復(fù)可以更好的保持代碼的可維護(hù)性,而不是建立一個(gè)頭重腳輕、臃腫復(fù)雜、不可維護(hù)的系統(tǒng)。

此外,請?jiān)试S我再一次引用 Harry Roberts 的觀點(diǎn),實(shí)用勝過完美。有些時(shí)候,你可能會(huì)發(fā)現(xiàn)自己違背了這里所描述的規(guī)則。如果感覺自己的方式有道理,感覺很正確,那就繼續(xù)做吧。編寫代碼從來都不是一家之言。

擴(kuò)展本文

本文中的大部分內(nèi)容都極具實(shí)際參考意義。我學(xué)習(xí)和使用 Sass 已經(jīng)有好幾年了,其中積累了大量的開發(fā)經(jīng)驗(yàn),所以對于其他人來說某些觀點(diǎn)可能會(huì)有一些不適應(yīng)。

盡管如此,我認(rèn)為有必要做一些事方便大家自由擴(kuò)展本文。擴(kuò)展本文非常簡單,有專門的文檔來制定代碼的編寫方式,對于其中的特殊規(guī)則,會(huì)在下面做出解釋。

點(diǎn)擊這里可以查看位于 SassDoc repository 上的一個(gè) Styleguide 擴(kuò)展:

這是一個(gè)由 Felix Geisend?rfer 開發(fā)的 Node Styleguide 擴(kuò)展。這份文檔全面覆蓋了 Node Styleguide 的內(nèi)容。

下一篇:工具