摘要:對于構造函數,使用大駝峰式大小寫。構造函數的命名應當是名詞。引號的使用,字符串,傾向于使用單引號,并始終保持這個風格。塊語句間隔,推薦使用風格。風格風格風格此處省略了的使用規范使用規范循環必須使用。
基本格式
使用4個空格字符作為一個縮進層級,(記得配置編輯器)。
不要省略分號。
行的長度限定在80個字符。
長度超過限制時,選擇在運算符之后換行,下一行需要兩個層級的縮進。例外,變量賦值以及變量聲明時,第二行應當和賦值運算符或第一個變量保持對齊。
適當的增加空行:
在方法之前。
在方法的局部變量和第一條語句之間。
在多行或單行注釋之前。
在方法內的邏輯片段之間插入空行,提高可讀性。
變量和函數命名,統一使用小駝峰式大小寫,即首字母小寫,后續每個單詞首字母都大寫。對于構造函數,使用大駝峰式大小寫。匈牙利命名,如sName表示字符串,iCount表示整數,不推薦使用。
推薦的命名方式
變量的命名應當是名詞。
函數和方法的前綴應當是動詞。
構造函數的命名應當是名詞。
一些常見動詞的約定:
動詞 | 含義 |
---|---|
can | 函數返回一個布爾值 |
has | 函數返回一個布爾值 |
is | 函數返回一個布爾值 |
get | 函數返回一個非布爾值 |
set | 函數用來保存一個值 |
常量,使用大寫字母和下劃線來命名,下劃線用以分隔單詞。
引號的使用,字符串,傾向于使用單引號,并始終保持這個風格。
null 的使用場景為,期望是對象的變量,參數,返回值,把它當作對象的占位符。
變量在聲明時即賦予初始值。undefined的問題見下:
jsvar b; console.log(b) // undefined console.log(typeof b); // "undefined" console.log(c) // 報錯 console.log(typeof c) // "undefined" var a = {}; console.log(a.aaa) // undefined console.log(typeof a.aaa); // "undefined" console.log(d.aaa) // 報錯 console.log(typeof d.aaa); // 報錯
對象和數組使用直接量進行定義。
jsvar obj = { a: "a" } var arr = ["a","b","c"];注釋
單行注釋
用來解釋下一行代碼。請在這行注釋之前插入一個空行,且縮進層級和下一行代碼保持一致。
在代碼行尾部的注釋。代碼結束到注釋之間至少由一個縮進。該行不要超過最大字符限制,若超過請放置于該行上方。
注釋大段的代碼。
多行注釋
風格如下:
js/* * 我是注釋 * 另一段注釋 */
與單行注釋一樣,注釋之前有一個空行。
縮進與下一行代碼一致。
使用注釋
難以理解的代碼
可能被誤以為錯誤的代碼
瀏覽器特性Hack
語句和表達式
所有的塊語句都應該使用花括號。
if
for
while
do...while...
try...catch...finally
花括號的對齊規范
js// 推薦 if(condition) { doSomething(); } else { doSomethingElse(); } // 禁止,以免導致錯誤的分號自動插入。 if (condition) { doSomething(); } else { doSomethingElse(); }
塊語句間隔,推薦使用Google JavaScript風格。
Dojo 風格
jsif(condition){ doSomething(); }
Google JavaScript 風格
jsif (condition) { doSomething(); }
jQuery 風格
jsif ( condition ) { doSomething(); }
此處省略了switch for的使用規范
for-in 使用規范
for-in 循環必須使用 hasOwnProperty()。
除非你要查找原型鏈,但必須補充注釋。
不可用于遍歷數組,數組必須使用for。
變量、函數和運算符js會將變量聲明提前,因此在函數內部任意地方定義變量和在函數頂部定義變量是完全一樣的。
尤其是js沒有塊級作用域,需注意。推薦做法是,有意識地將聲明提升到函數塊的頂部來做。
函數聲明同樣也會被js提前。推薦做法是,先聲明后使用。
不可在條件語句中使用函數聲明。
嚴格模式,"use strict"; 不要將該指令寫到全局中,而是寫在函數塊內。
始終使用 === 和 !== 。
禁止使用 eval() ,唯一例外:涉及到回調中解析JSON的情形。
禁止使用原始包裝類型(String,Boolean,Number)
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/85858.html
摘要:網絡編程一直是的短板,盡管擴展彌補了這個缺陷,但是其編程風格偏向了或,與原本的同步編程風格迥然相異。目前的大部分主流應用框架依然是同步編程風格,所以一直在探索與同步編程結合的途徑。正是連接同步編程和異步編程的一座橋梁,有興趣可以關注一下。 網絡編程一直是PHP的短板,盡管Swoole擴展彌補了這個缺陷,但是其編程風格偏向了NodeJS或GoLang,與原本的同步編程風格迥然相異。目前P...
摘要:工作中好的編程風格會更友好,不好的編程風格會讓隊友難受變量的聲明使用和代替存在變量提升等副作用,聲明常量使用命名規范使用小駝峰命名,變量名可讀性好使用變量說明不要出現讓人覺得晦澀難懂的變量不要重復命名當一個對象名有意義的時候,對象里面的的命 工作中好的編程風格會更友好,不好的編程風格會讓隊友難受 變量的聲明 使用let和const代替var(var存在變量提升等副作用),聲明常量使用c...
摘要:寫在前面新司機最近讀完編寫可維護的,學到不少東西。書分為編程風格編程實踐自動化三個部分。編程風格并不是絕對的,每個人或團隊都有自己的編程風格,但知道哪些地方需要注意的話,還是有助于新司機完成代碼風格的轉變。 寫在前面 新司機最近讀完《編寫可維護的JavaScript》,學到不少東西。書分為編程風格、編程實踐、自動化三個部分。其中編程風格是你的代碼格式約定,統一的格式不僅僅有利于團隊,也...
摘要:最近在看一本有關編程規范的書,書中精煉闡述了使用語言時應該遵循的一些原則。所以擁有良好一致的編程規范對于一個團隊至關重要。二堅持最小驚奇原則在編碼過程中盡量避免可能讓軟件用戶感到意外的做法。 最近在看一本有關Java編程規范的書,書中精煉闡述了使用java語言時應該遵循的一些原則。接下來的一段時間我將在這里總結我的學習內容,也希望這一系列文章能夠對有需要的人有所幫助。 不考慮任何編碼規...
摘要:如果團隊成員文件合并,可能會讓團隊其他成員的代碼報錯推薦函數內部,即布局作用域內使用相等兩個等號判斷相等,容易出現強制類型轉換推薦使用三個等于號用來判斷相等原始包裝類型避免使用參考資料編寫可維護的 本文為《編寫可維護的JavaScript》讀書筆記 1、變量 變量名遵守駝峰大小寫命名法 命名前綴可為名詞,這樣可與函數名區分 常量利用大寫字母和下劃線(用來分隔單詞)來命名 所有變量聲明...
閱讀 3245·2021-11-24 09:39
閱讀 2931·2021-09-09 11:34
閱讀 3199·2021-09-07 09:58
閱讀 2304·2019-08-30 13:07
閱讀 2868·2019-08-29 15:09
閱讀 1569·2019-08-29 13:01
閱讀 2308·2019-08-26 12:18
閱讀 1927·2019-08-26 10:28