一個樣式指南并不是一份便于閱讀并使代碼處于理想狀態(tài)的文檔。它在一個項目的生命周期中是一份關(guān)鍵文檔,描述了編寫代碼的方式和采用這樣方式的原因。它可能在小項目中顯得有些矯枉過正,但卻能在保持代碼庫整潔,提高可擴(kuò)展性和可維護(hù)性上提供諸多便利。
不用多說相信你也可以理解,參與項目的開發(fā)者越多,代碼樣式指南就越顯的必要。與之相同,項目的規(guī)模越大,代碼樣式指南也會越加重要。
Harry Roberts 的 CSS Guidelines 就非常好:
樣式指南(注意不是視覺風(fēng)格指南)用于團(tuán)隊是一個很有價值工具:
- 長時間內(nèi)便于創(chuàng)建和維護(hù)項目
- 便于不同能力的和專業(yè)的開發(fā)使用
- 便于任何時間加入團(tuán)隊的不同開發(fā)人員
- 便于新員工培訓(xùn)
- 便于開發(fā)人員創(chuàng)建代碼庫
首先第一件事是:這不是一份 CSS 樣式指南。本文檔不會討論諸如約定 CSS 類名、模塊化開發(fā)模式和有關(guān) ID 的疑惑等 CSS 范疇內(nèi)的問題。本文檔中的準(zhǔn)則只著眼于處理 Sass 的專有內(nèi)容。
此外,這份樣式指南是我獨創(chuàng)的,所以會顯得有些個人主觀傾向。你可以將它看成是我通過多年實踐研究出的方法和建議的集合。這也讓我有機(jī)會接觸到少數(shù)極具見地的資源,所以一定要瀏覽一下擴(kuò)展閱讀。
顯然,這里講的肯定不是進(jìn)行 Sass 編程的唯一方式,而且它是否符合你的項目要求還有待檢驗。
最后,如果有一件事是我想從整個樣式指南中傳授的,那就是:Sass 以簡為美,簡約至上。
感謝我過去使用 Sass 時傻傻的嘗試,比如 bitwise operators、iterators and generators 和 a JSON parser,從而認(rèn)識到了可以用預(yù)處理器來做什么。
同時,CSS 是一門簡單的語言,那么 Sass 在書寫常規(guī) CSS 的時候就不應(yīng)該更復(fù)雜。KISS principle (Keep It Simple Stupid) 在這里是一個核心原則,甚至在有些情況下要優(yōu)先于DRY principle (Don’t Repeat Yourself)。
有時候,一點點重復(fù)可以更好的保持代碼的可維護(hù)性,而不是建立一個頭重腳輕、臃腫復(fù)雜、不可維護(hù)的系統(tǒng)。
此外,請允許我再一次引用 Harry Roberts 的觀點,實用勝過完美。有些時候,你可能會發(fā)現(xiàn)自己違背了這里所描述的規(guī)則。如果感覺自己的方式有道理,感覺很正確,那就繼續(xù)做吧。編寫代碼從來都不是一家之言。
本文中的大部分內(nèi)容都極具實際參考意義。我學(xué)習(xí)和使用 Sass 已經(jīng)有好幾年了,其中積累了大量的開發(fā)經(jīng)驗,所以對于其他人來說某些觀點可能會有一些不適應(yīng)。
盡管如此,我認(rèn)為有必要做一些事方便大家自由擴(kuò)展本文。擴(kuò)展本文非常簡單,有專門的文檔來制定代碼的編寫方式,對于其中的特殊規(guī)則,會在下面做出解釋。
點擊這里可以查看位于 SassDoc repository 上的一個 Styleguide 擴(kuò)展:
這是一個由 Felix Geisend?rfer 開發(fā)的 Node Styleguide 擴(kuò)展。這份文檔全面覆蓋了 Node Styleguide 的內(nèi)容。