騰訊Alloy團隊代碼規范


概述

我個人很看重代碼規范,因為代碼是寫給別人看的,按規范寫別人才更容易理解。之前苦於沒有代碼規范的資料,現在在github上面看到了騰訊Alloy團隊的代碼規范,於是學習了一下,並記錄下我自己還沒怎么注意的地方,供以后開發時參考,相信對其他人也有用。

順便說下,這里是騰訊Alloy團隊推薦的sublime3配置

命名規則

  1. 文件命名全部采用小寫方式, 以下划線分隔,有復數結構時,要采用負數命名法。

HTML

  1. 屬性名,使用雙引號,不要使用單引號;全小寫,用中划線做分隔符。
  2. 不要在自動閉合標簽結尾處使用斜線。
  3. doctype大寫。
  4. 在html標簽上加上lang屬性。
  5. 聲明一個明確的字符編碼,通常指定為'UTF-8'。
  6. 用meta標簽指定頁面應該用什么版本的IE來渲染(比如content="IE=Edge");
  7. 在引入CSS和JS時不需要指明type。
  8. 屬性應該按照特定的順序出現以保證易讀性,class>id>name>data-*>src等
  9. boolean屬性不需要聲明取值。
  10. 避免用js生成標簽。
  11. 在編寫HTML代碼時,需要盡量避免多余的父節點。

css,scss

  1. 屬性聲明順序
  2. 以下幾種情況需要換行:(1)'{'后和'}'前(2)每個屬性獨占一行(3)多個規則的分隔符','后。
  3. 注釋統一用'/* */'(scss中也不要用'//')。
  4. 最外層統一使用雙引號。
  5. 類名使用小寫字母,以中划線分隔;id采用駝峰式命名;scss中的變量、函數、混合、placeholder采用駝峰式命名。
  6. 顏色16進制用小寫字母;顏色16進制盡量用簡寫。
  7. 除了margin和padding,都不需要使用屬性簡寫,盡量分開聲明。
  8. 盡量將媒體查詢的規則靠近與他們相關的規則,不要放進獨立樣式文件,也不要扔在底部。
  9. @import 引入的文件不需要開頭的'_'和結尾的'.scss'。
  10. 聲明順序:@extend;不包含 @content 的 @include;包含 @content 的 @include;自身屬性;嵌套規則。
  11. 去掉小數點前面的0。
  12. 屬性值'0'后面不要加單位。
  13. 同個屬性不同前綴的寫法需要在垂直方向保持對齊,無前綴的標准屬性應該寫在有前綴的屬性后面。
  14. 用 border: 0; 代替 border: none;
  15. 發布的代碼中不要有 @import。
  16. 盡量少用'*'選擇器。

JavaScript

  1. return后面需要加分號。
  2. 這些關鍵字后要留一個空格:if, else, for, while, do, switch, case, try, catch, finally, with, return, typeof。
  3. '}'前需要換行。
  4. 單行注釋縮進與下一行代碼保持一致。
  5. 多行注釋最少三行, '*'后跟一個空格。
  6. 最外層統一使用單引號。
  7. 這些字符串一律按這里的寫法,不小寫或大寫:'ID','URL','Android', 'iOS'。
  8. 構造函數,大寫第一個字母
  9. 常量全大寫,用下划線連接。
  10. 對象屬性名不需要加引號;數組、對象最后不要有逗號。
  11. 永遠不要直接使用undefined進行變量判斷;使用typeof和字符串'undefined'對變量進行判斷。
  12. for-in里一定要有hasOwnProperty的判斷。
  13. 不要在同個作用域下聲明同名變量。
  14. 不要在一些不需要的地方加括號,例:delete(a.b)。
  15. 數組中不要存在空元素。(有疑問???)
  16. 換行符統一用'LF',即'/n'。
  17. 對上下文this的引用只能使用'_this', 'that', 'self'其中一個來命名。
  18. 一個函數作用域中所有的變量聲明盡量提到函數首部,用一個var聲明,不允許出現兩個連續的var聲明。比如:
function doSomethingWithItems(items) {
    // use one var
    var value = 10,
        result = value + 10,
        i,
        len;

    for (i = 0, len = items.length; i < len; i++) {
        result += 10;
    }
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM