成人午夜激情影院,小视频免费在线观看,国产精品夜夜嗨,欧美日韩精品一区二区在线播放

前端編碼規范(1)—— 一般規范

2015-01-30 10:54:15來源:WEB前端開發作者:

這是一份旨在增強團隊的開發協作,提高代碼質量和打造開發基石的編碼風格規范,其中包含了 HTML, JavaScript 和 CSS/SCSS 這幾個部分。我們知道,當一個團隊開始指定并實行編碼規范的話,錯誤就會變得更加顯而易見。

這是一份旨在增強團隊的開發協作,提高代碼質量和打造開發基石的編碼風格規范,其中包含了 HTML, JavaScript 和 CSS/SCSS 這幾個部分。我們知道,當一個團隊開始指定并實行編碼規范的話,錯誤就會變得更加顯而易見。如果一段特定的代碼不符合規范的話,它有可能只是代碼風格錯誤,而也有可能會是 bug。早期指定規范就使得代碼審核得以更好的開展,并且可以更精確的地定位到錯誤。只要開發者們能夠保證源代碼源文件都嚴格遵循規范,那接下去所使用的混淆、壓縮和編譯工具則可投其所好不盡相同。

一般規范

以下章節列舉了一些可應用在 HTML, JavaScript 和 CSS/SCSS 上的通用規則。

文件/資源命名

在 web 項目中,所有的文件名應該都遵循同一命名約定。以可讀性而言,減號(-)是用來分隔文件名的不二之選。同時它也是常見的 URL 分隔符(i.e. //example.com/blog/my-blog-entry or //s.example.com/images/big-black-background.jpg),所以理所當然的,減號應該也是用來分隔資源名稱的好選擇。

請確保文件命名總是以字母開頭而不是數字。而以特殊字符開頭命名的文件,一般都有特殊的含義與用處(比如 compass[1] 中的下劃線就是用來標記跳過直接編譯的文件用的)。

資源的字母名稱必須全為小寫,這是因為在某些對大小寫字母敏感的操作系統中,當文件通過工具壓縮混淆后,或者人為修改過后,大小寫不同而導致引用文件不同的錯誤,很難被發現。

還有一些情況下,需要對文件增加前后綴或特定的擴展名(比如 .min.js, .min.css),抑或一串前綴(比如 3fa89b.main.min.css)。這種情況下,建議使用點分隔符來區分這些在文件名中帶有清晰意義的元數據。
 

不推薦

  1. MyScript.js
  2. myCamelCaseName.css
  3. i_love_underscores.html
  4. 1001-scripts.js
  5. my-file-min.css

推薦

  1. my-script.js
  2. my-camel-case-name.css
  3. i-love-underscores.html
  4. thousand-and-one-scripts.js
  5. my-file.min.css

協議

不要指定引入資源所帶的具體協議。

當引入圖片或其他媒體文件,還有樣式和腳本時,URLs 所指向的具體路徑,不要指定協議部分(http:, https:),除非這兩者協議都不可用。

不指定協議使得 URL 從絕對的獲取路徑轉變為相對的,在請求資源協議無法確定時非常好用,而且還能為文件大小節省幾個字節。

不推薦

  1. <script src="http://cdn.com/foundation.min.js"></script>

推薦

  1. <script src="//cdn.com/foundation.min.js"></script>

不推薦

  1. .example {
  2. background: url(http://static.example.com/images/bg.jpg);
  3. }

推薦

  1. .example {
  2. background: url(//static.example.com/images/bg.jpg);
  3. }

文本縮進

一次縮進兩個空格。

  1. <ul>
  2. <li>Fantastic</li>
  3. <li>Great</li>
  4. <li>
  5. <a href="#">Test</a>
  6. </li>
  7. </ul>
  1. @media screen and (min-width: 1100px) {
  2. body {
  3. font-size: 100%;
  4. }
  5. }
  1. (function(){
  2. var x = 10;
  3.  
  4. function y(a, b) {
  5. return {
  6. result: (a + b) * x
  7. }
  8.  
  9. }
  10. }());

注釋

注釋是你自己與你的小伙伴們了解代碼寫法和目的的唯一途徑。特別是在寫一些看似瑣碎的無關緊要的代碼時,由于記憶點不深刻,注釋就變得尤為重要了。

編寫自解釋代碼只是一個傳說,沒有任何代碼是可以完全自解釋的。而代碼注釋,則是永遠也不嫌多。

當你寫注釋時一定要注意:不要寫你的代碼都干了些什么,而要寫你的代碼為什么要這么寫,背后的考量是什么。當然也可以加入所思考問題或是解決方案的鏈接地址。

不推薦

  1. var offset = 0;
  2.  
  3. if(includeLabels) {
  4. // Add offset of 20
  5. offset = 20;
  6. }

推薦

  1. var offset = 0;
  2.  
  3. if(includeLabels) {
  4. // If the labels are included we need to have a minimum offset of 20 pixels
  5. // We need to set it explicitly because of the following bug: http://somebrowservendor.com/issue-tracker/ISSUE-1
  6. offset = 20;
  7. }

一些注釋工具可以幫助你寫出更好的注釋。JSDoc 或 YUIDoc 就是用來寫 JavaScript 注釋用的。你甚至可以使用工具來為這些注釋生成文檔,這也是激勵開發者們寫注釋的一個好方法,因為一旦有了這樣方便的生成文檔的工具,他們通常會開始花更多時間在注釋細節上。
 

代碼檢查

對于比較寬松自由的編程語言來說,嚴格遵循編碼規范和格式化風格指南就顯得極為重要。遵循規范固然很好,但是有自動化流程來確保其執行情況,豈不更佳。Trust is good, control is better.

對于 JavaScript,建議使用 JSLint 或 JSHint。


[1]: Compass 是一個基于 Sass 開源的 CSS 框架,而 Sass 是一個非常流行的 CSS 預編譯器。


關鍵詞:前端編碼規范
主站蜘蛛池模板: 会理县| 灵川县| 伊吾县| 乐清市| 英山县| 贡觉县| 新余市| 麦盖提县| 望奎县| 大关县| 屯留县| 玛曲县| 图们市| 彩票| 灵武市| 柳江县| 五峰| 留坝县| 逊克县| 安龙县| 怀集县| 融水| 大荔县| 宜君县| 炎陵县| 鲁甸县| 柘荣县| 朔州市| 龙胜| 西昌市| 康平县| 临潭县| 常德市| 上虞市| 依安县| 蒲城县| 陇西县| 耿马| 四平市| 荔浦县| 桂平市|