摘要:什么是最佳的代碼編程規(guī)范這可能是一個(gè)眾口難調(diào)的問(wèn)題。那么,不妨換個(gè)問(wèn)題,什么代碼規(guī)范最流行通過(guò)分析上托管的開(kāi)源代碼,得出了一些有趣的結(jié)果。基于次提交統(tǒng)計(jì)。
什么是最佳的JavaScript代碼編程規(guī)范?這可能是一個(gè)眾口難調(diào)的問(wèn)題。那么,不妨換個(gè)問(wèn)題,什么代碼規(guī)范最流行?
sideeffect.kr通過(guò)分析GitHub上托管的開(kāi)源代碼,得出了一些有趣的結(jié)果。一起來(lái)看看吧。
行末逗號(hào)對(duì)行首逗號(hào)行末引號(hào):
var foo = 1, bar = 2, baz = 3; var obj = { foo: 1, bar: 2, baz: 3 };
行首引號(hào):
var foo = 1 , bar = 2 , baz = 3; var obj = { foo: 1 , bar: 2 , baz: 3 };
行末,92.345%;行首,7.655%。(基于1,100,251次提交統(tǒng)計(jì)。)
空格和Tab這年頭大家都愛(ài)用空格了。使用空格縮進(jìn)可以保證不同的開(kāi)發(fā)者、不同的編輯器設(shè)置下看到的結(jié)果是一樣的。
空格,81.1 %;Tab,18.9 %。(基于2,019,550次提交統(tǒng)計(jì)。)
函數(shù)后是否添加空格無(wú)空格
function foo() { return "bar"; }
有空格
function foo () { return "bar"; }
無(wú)空格,67.424 %;有空格,32.576 %。(基于1,212,488次提交統(tǒng)計(jì)。)
參數(shù)與括號(hào)間是否有空格無(wú)空格
function fn(arg1, arg2) { //or if (true) {
有空格
function fn( arg1, arg2 ) { // ... } if ( true ) { // ... }
無(wú)空格,94.31 %;有空格,5.69 %。(基于1,514,971次提交統(tǒng)計(jì)。)
對(duì)象字面量中冒號(hào)周圍是否有空格冒號(hào)后有空格
{ foo: 1, bar: 2, baz: 3 }
冒號(hào)后無(wú)空格
{ foo:1, bar:2, baz:3 }
冒號(hào)前后均有空格
{ foo : 1, bar : 2, baz : 3 }
后空格,62.955 %;無(wú)空格,22.891 %;前后空格,14.154 %。(基于1,300,035次提交統(tǒng)計(jì)。)
個(gè)人覺(jué)得,無(wú)空格太擠了,不利于快速分清key和value。前后空格的話,恐怕需要對(duì)齊冒號(hào),看起來(lái)才美觀,從統(tǒng)計(jì)數(shù)據(jù)來(lái)看,大部分程序員懶得對(duì)齊冒號(hào)(還是說(shuō),大部分程序員的IDE或編輯器不夠智能?)
條件語(yǔ)句有空格
if (true) { //... } while (true) { //... } switch (v) { //... }
無(wú)空格
if(true) { //... } while(true) { //... } switch(v) { //... }
有空格,78.276 %;無(wú)空格,21.724 %。(基于1,163,316次提交。)
單引號(hào)、雙引號(hào)單引號(hào),56.791 %;雙引號(hào),43.209 %。(基于1,705,910次提交。)
總結(jié)所以說(shuō),最流行的代碼規(guī)范是:
行末逗號(hào)
空格縮進(jìn)
函數(shù)名稱后無(wú)空格
函數(shù)參數(shù)與括號(hào)間無(wú)空格
對(duì)象字面量的冒號(hào)后加空格,冒號(hào)前不加
條件語(yǔ)句關(guān)鍵字后加空格
流行的不一定是好的(比如流行性感冒),但是從交流的角度來(lái)說(shuō),按照流行的風(fēng)格編寫代碼,可以讓你的代碼在大多數(shù)人看起來(lái)更習(xí)慣。
編撰 SegmentFault
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/87474.html
摘要:我是這一期的主持人黃子毅本期精讀的文章是。模塊化需要保證全局變量盡量干凈,目前為止的模塊化方案都沒(méi)有很好的做到這一點(diǎn)。精讀本次提出獨(dú)到觀點(diǎn)的同學(xué)有流形,黃子毅,蘇里約,,楊森,淡蒼,留影,精讀由此歸納。 這次是前端精讀期刊與大家第一次正式碰面,我們每周會(huì)精讀并分析若干篇精品好文,試圖討論出結(jié)論性觀點(diǎn)。沒(méi)錯(cuò),我們?cè)噲D通過(guò)觀點(diǎn)的碰撞,爭(zhēng)做無(wú)主觀精品好文的意見(jiàn)領(lǐng)袖。 我是這一期的主持人 ——...
摘要:第二種接口的概念和面向?qū)ο缶幊滔嚓P(guān)接口視為一份合約,在合約里可以定義這份合約的類或接口的行為接口告訴類,它需要實(shí)現(xiàn)一個(gè)叫做的方法,并且該方法接收一個(gè)參數(shù)。 定場(chǎng)詩(shī) 八月中秋白露,路上行人凄涼; 小橋流水桂花香,日夜千思萬(wàn)想。 心中不得寧?kù)o,清早覽罷文章, 十年寒苦在書房,方顯才高志廣。 前言 洛伊安妮·格羅納女士所著的《學(xué)習(xí)JavaScript數(shù)據(jù)結(jié)構(gòu)與算法》第三版于2019年的5月份...
摘要:規(guī)范名稱定義,便于維護(hù)。譬如關(guān)于的定義在格式化的中會(huì)聲明為,而在基本樣式的中又可能會(huì)聲明所以在中會(huì)出現(xiàn)多次定義。盡量減少連接數(shù)和的大小。基于版本的使用目前使用較廣的是版本和,其中的最新版本是的最新版本。 隨著CSS3和HTML5的流行,我們的WEB頁(yè)面不僅需要更人性化的設(shè)計(jì)理念,而且需要更酷的頁(yè)面特效和用戶體驗(yàn)。作為開(kāi)發(fā)者,我們需要了解一些寶貴的CSS UI開(kāi)源框架資源,它們可以幫助我...
摘要:規(guī)范名稱定義,便于維護(hù)。譬如關(guān)于的定義在格式化的中會(huì)聲明為,而在基本樣式的中又可能會(huì)聲明所以在中會(huì)出現(xiàn)多次定義。盡量減少連接數(shù)和的大小。基于版本的使用目前使用較廣的是版本和,其中的最新版本是的最新版本。 隨著CSS3和HTML5的流行,我們的WEB頁(yè)面不僅需要更人性化的設(shè)計(jì)理念,而且需要更酷的頁(yè)面特效和用戶體驗(yàn)。作為開(kāi)發(fā)者,我們需要了解一些寶貴的CSS UI開(kāi)源框架資源,它們可以幫助我...
閱讀 2237·2021-11-22 15:29
閱讀 4116·2021-11-04 16:13
閱讀 1001·2019-08-29 16:58
閱讀 347·2019-08-29 16:08
閱讀 1469·2019-08-23 17:56
閱讀 2394·2019-08-23 17:06
閱讀 3173·2019-08-23 16:55
閱讀 2070·2019-08-23 16:22