採用 CSS 編譯器開發的風險

https://blog.user.today/scss/
https://cythilya.github.io/2018/08/10/postcss/


CSS 編譯器有許多優點,除了提高開發速度,也為團隊協同開發帶來了許多方便,且PostCSS/SCSS/SASS/LESS 巢狀結構的程式原始碼,其可讀性相較 CSS 提高許多;然而,前端的變化過大,也帶來了如下風險:


  • 編譯器改版或想改用更新更潮的編譯器時,舊的原始碼可能需要整個淘汰。
  • 跟 Flash 檔案、專案型程式、psd、ai 等等的問題一樣,最後一版的 SASS/SCSS 原始檔在誰那? (當組織只注重人的管理,而不注重資訊跟軟體工程的管理時…)
  • 如果有其他成員直接抓線上的 CSS 檔來改,下次自己要改 SASS 的時候會爆炸。
  • 編譯器更新版本之後,剛剛還可以編譯的檔案突然各種莫名出錯,或是專案組態被改到爛掉,或是 Source Map 對不上 SCSS 的原始碼行數等悲慘情況。
  • 遇到會寫 SCSS,但不會寫 CSS 的朋友:離職後接手別人的 code 才發現這問題,用 SCSS 輕鬆寫出選擇器的效能/效率超差、檔案超大的 css code,可是已經連絡不到他了。
  • CSS 本身的改版,也導致必須升級過時的編譯器,然後升級編譯器又會發生前述舊的原始碼向下相容的問題。
所以,如果是需要長期維護的專案,採用 CSS 編譯器開發之前,恐怕還需要想一想這些風險。



程式語言編年史

程式語言編年史原文 下面這張圖片描繪了整個程式語言的歷史。包括各種程式語言的發明人、程式語言的特點和適用領域、被什麼網站或公司使用等 (檢視 完整高清圖 )。 之所以會有那麼多不同的程式語言是因為設計程式語言的初衷不同、對語言學習曲線的追求不同、不同程式之間的執行成本差異...