什麼是最佳的JavaScript程式碼程式設計規格?這可能是個眾口難調的問題。那麼,不妨換個問題,什麼代碼規範最流行?
sideeffect.kr透過分析GitHub上託管的開源程式碼,得出了一些有趣的結果。一起來看看吧。
行末逗號對行首逗號
行末引號:
複製程式碼
碼
var foo = 1,
bar = 2,
baz = 3;
var obj = { 2,
baz: 3
};
複製程式碼
複製程式碼
複製程式碼
代碼如下:
var foo = 1
, bar = 2 , baz = 3;
var obj = { , bar: 2
, baz: 3
};
行末,92.345%;行首,7.655%。 (基於1,100,251次提交統計。)
函數後面是否加空格
無空格
複製程式碼
function foo() {
return "bar";
}
有空格
有空格
複製程式碼
return "bar";
}
無🎜>無空格,67.424 %;有空格,32.576 %。 (基於1,212,488次提交統計。)
參數與括號間是否有空格
無空格
複製代碼
代碼如下:
有空格
複製程式碼
程式碼如下:
function fn( arg1, arg2 ) {
// ... ... } if ( true ) { // ...
}
無空格,94.31 %;有空格,5.69 %。 (基於1,514,971次提交統計。)
對象字面量中冒號周圍是否有空格
冒號後有空格
{
foo: 1,
bar: 2,
baz: 3
}
baz: 3
}
冒號後空格
複製程式碼
baz:3 } 冒號前後都有空格複製程式碼複製程式碼複製程式碼複製程式碼複製程式碼複製程式碼複製程式碼複製程式碼複製碼> 程式碼如下:{ foo : 1, bar : 2, baz : 3 } } 後空格,62.955 %;無空格,22.891 %;前後空格,14.154 %。 (基於1,300,035次提交統計。)
個人覺得,無空格太擠了,不利於快速分清key和value。前後空格的話,恐怕需要對齊冒號,看起來才美觀,從統計數據來看,大部分程式設計師懶得對齊冒號(還是說,大部分程式設計師的IDE或編輯器不夠聰明?)
條件語句有空格複製程式碼複製程式碼 程式碼
if (true) {
//...
}
while (true) {
//...
}
switch (v) {
//...
}
無空格
複製程式碼
複製程式碼
複製程式碼
複製碼
程式碼如下:
if(true) {
//... }
while(true) { / /... }
switch(v) { //...
}
有空格,78.276 %;無空格,21.7244 %。 (基於1,163,316次提交。)
單引號、雙引號
單引號,56.791 %;雙引號,43.209 %。 (基於1,705,910次提交。)
總結
所以說,最流行的程式碼規範是:
•行末逗號•空格縮排•函數名稱後無空格•函數參數與括號間無空格•物件字面量的冒號後加空格,冒號前不加•條件語句關鍵字後面加空格
流行的不一定是好的(例如流行性感冒),但是從交流的角度來說,按照流行的風格編寫程式碼,可以讓你的程式碼在大多數人看起來更習慣。