能讓每個人出乎意料的輕鬆的閱讀任意一段代碼,並輕易的看懂它們css
風格高度統一html
提升可讀性,促進團隊協做git
下降維護成本 (減小馬良的粗口)github
有助於寫出質量更高、錯誤更少、更易於維護的程序編程
不管團隊人數多少,代碼應該同出一門。app
Tab縮進==四個空格ide
每行代碼字符數不超過120個模塊化
文件使用UTF-8編碼函數
儘量不寫註釋,除非頗有必要ui
文件不能留有多餘的空格、換行、沒必要要的註釋
代碼必定要格式化
項目命名:所有采用小寫方式, 如下劃線分隔
例:my_project_name
目錄命名:參考項目命名,有複數結構時,要採用複數命名法。
例:scripts, styles, images, templates
文件命名:全小寫,如下劃線分隔
例:image_preview.js 如過項目是MVC結構,文件命名能夠帶上當前模塊,便於搜索和理解 app/scripts/controllers/login.controller.js app/scripts/services/login.service.js
HTML、CSS文件命名參考如上
語義化,準確的表達意圖
變量命名:駝峯命名法,小寫字母開頭。必須聲明
函數命名:駝峯命名法,小寫字母開頭。規則:動詞或動詞+名詞組合
let removeSession = function() {} let getUser = function() {} let isAdmin = function() {} let findMessagesByIdentifier = function() {}
類命名:駝峯命名法,首字母大寫
每行代碼結束必須有分號;
常量用全大寫字母,下劃線分割,如const HTTP_SUCCESS = 200;
空格,該有的空格的地方按代碼格式化的標準
花括號
例:if (xx) { // do something } 標準寫法,其餘都不規範,不容許if縮寫
使用單引號
let name = '張三';
使用三目等,用===, !==代替==, !=;
嚴格模式,在js文件頭部聲明
'use strict';
一個function超過100行就必需要重構,10行內是比較理想的
一個文件只幹一件事,文件行數不超過200行,不然說明模塊化程度不夠
去除else
例 if (xxx) { return; } // do something 例 if (xxx) { // do something return; } if (xxx) { // do something return; } // do something
函數參數不能超過3個,可以使用對象代替
一個值在代碼上出現2次以上就須要提取爲常量,防止散彈式編程
屬性值必修雙引號,禁止使用單引號
樣式儘量寫到style文件
參考:https://github.com/fex-team/styleguide/blob/master/html.md
參考:https://github.com/fex-team/styleguide/blob/master/css.md
咱們須要正規軍,沒有作到,那就是完全的土匪軍