W3Cschool
恭喜您成為首批注冊用戶
獲得88經驗值獎勵
npm 的編碼風格有點不合常規(guī)。它并沒有因為差異而不同,而是一種精心設計的風格,旨在減少視覺混亂并使錯誤更加明顯。
如果你想為 npm 做出貢獻(這是非常受鼓勵的),你應該讓你的代碼符合 npm 的風格。
注意: 這涉及 npm 的代碼,而不是你可以從 npm 注冊表下載的特定包。
保持行短于 80 個字符。
一行代碼內容短一些總比一長串的代碼要來得好。將長列表、對象和其他語句分解為多行。
兩個空格。 Tab 縮進更好,但它們在 Web 瀏覽器(和 GitHub 上)中看起來特別的不好,節(jié)點用 2 個空格,就是這樣。 應該適當地配置你的編輯器。
大括號與需要它們的內容在同一行。 不好:
function()
{
好的:
function(){
如果塊需要換到下一行,請使用花括號。如果沒有,請不要使用它。 壞的:
if(foo){bar()}
while(foo)
bar()
好的:
if(foo) bar()
while (foo){
bar()
}
除了以下的四種情況之外,就不要使用它們:
(
或[
在該行的開始。這可以防止表達式分別被誤解為函數調用或屬性訪問。一些良好的分號用法示例:
;(x || y).doSomethin()
;[a, b, c].forEach(doSomething)
for (var i = 0; i < 10; i ++) {
switch (state) {
case 'begin': start(); continue
case 'end': finish(); break
default: throw new Error('unknown state')
}
end()
}
請注意,以-
and開頭的行+
也應該以分號為前綴,但這種情況不太常見。
如果有一個由逗號分隔的事物列表,并且它包含在多行中,請將逗號放在下一行的開頭,直接在開始列表的標記下方。將列表中的最后一個標記單獨放在一行上。例如:
var magicWords = [ 'abracadabra'
, 'gesundheit'
, 'ventrilo'
]
, spells = { 'fireball' : function () { setOnFire() }
, 'water' : function () { putOut() }
}
, a = 1
, b = 'abc'
, etc
, somethingElse
對字符串使用單引號,除非避免轉義。 壞的:
var notOk = "Just double quotes"
好的:
var ok = 'String contains "double" quotes'
var alsoOk = "String contains 'single' quotes or apostrophe"
在(
函數調用之外的任何內容前面放置一個空格。也可以在任何使事情更具可讀性的地方使用單個空格。
不要在行尾留下尾隨空格。不要縮進空行。不要使用多余的空格。
使用命名函數。它們使堆棧跟蹤更易于閱讀。
盡可能使用異步/非阻塞版本的事物。npm 使用同步 fs API 可能更有意義,但是這樣,fs 和 http 以及子進程都使用相同的回調傳遞方法。
回調應該始終是列表中的最后一個參數。它的第一個參數是 Error 或 null。
要非常小心,永遠不要扔任何東西。這比沒用更糟糕。只需將錯誤消息作為回調的第一個參數發(fā)送回即可。
始終使用您的消息創(chuàng)建一個新的 Error 對象。不要只是向回調返回一個字符串消息。堆棧跟蹤很方便。
日志記錄是使用[npm-config]()實用程序完成的。
當日志不再有用時,請清理日志。特別是,一遍又一遍地記錄同一個對象是沒有幫助的。日志應該報告正在發(fā)生的事情,以便更容易地跟蹤故障發(fā)生的位置。
使用適當的日志級別。查看 npm-config 并搜索 "loglevel"。
使用使用lowerCamelCase
時,他們指的對象,函數,方法,屬性,或者在本節(jié)中未指定任何東西多字的標識符。
使用UpperCamelCase
的類名(的東西,你會傳遞到“新”)。
使用all-lower-hyphen-css-case
對多字的文件名和配置鍵。
使用命名函數。它們使堆棧跟蹤更容易跟蹤。
使用CAPS_SNAKE_CASE
常量,事情應該不會改變,并且很少使用。
函數名使用單個大寫字母,函數通常是匿名的,但需要遞歸調用自身。它清楚地表明這是一個“一次性”功能。
布爾變量和函數應始終為true
或?false
。不要將它設置為 0,除非它應該是一個數字。
當故意丟失或刪除某些內容時,請將其設置為null
。
不要將事情設置為undefined
.?保留該值以表示“尚未設置為任何內容”。
禁止使用布爾對象。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯系方式:
更多建議: