為什麼JS的規範說要用兩個空格來縮進?

兩個空格的縮進看起來空格太少了,可讀性遠不如4空格的。看起來一點也不elegant

如果說占空間大,但是在發布的時候可以壓縮啊,這時候不是就不需要考慮幾個空格了嗎?

為什麼Google,Airbnb要用兩個空格?


我反正一個Tab


這是因為js往往需要通過閉包來實現封裝,同時會大量使用對象字面值的方式來直接寫對象。這會導致縮進很嚴重。有的代碼甚至縮進的列比代碼本身都長。


我堅決支持並堅決使用2個空格。

首先使用tab還是使用空格沒有對錯之分,只是個人或團隊的選擇偏好。但為什麼會推薦使用2個空格呢?根據我平時寫代碼的經驗來看,猜測原因應該是為了保證代碼格式的一致。大家都知道tab一般來講,tab是4個縮進,但這只是普遍情況。而對於使用的編輯器五花八門的程序員們來講這個普遍情況很有可能就沒那麼普遍了,因為很多編輯器/ide的tab默認並非4個空格寬度(2個或者6個),加之每個人可能還有不一樣的設置,所以使用tab的代碼在這些五花八門的編輯器裡面所展現出來最終代碼格式就可想而知了。這還沒有考慮到代碼中空格tab混用的情況。如果存在tab空格混用,最終代碼格式會更糟。

對於上面提到的「五花八門」的編輯器可能很多人覺得沒那麼誇張。在國內可能情況確實沒那麼嚴重,但這和國內程序員職業發展(或者說計算機編程發展)起步較國外晚一些,特別是在近些年才得到蓬勃發展。所以在編程工具上大家都能選擇到主流的被認可的編輯器/ide,像notepad++,sublime,atom這些。但是這種情況在國外可能就更加複雜了,各種流派的程序員用的工具就真的是「五花八門」了。

講一個我聽到的真事吧。早年我的幾個同事(比我大很多)跟著一美國程序員做一個java項目。我同事他們當然都是用eclipse,然後用的tab,但是這位美國程序員用的卻是vi。當我同事用eclipse寫的代碼在xterm下打開的時候,格式就完全亂掉了,根本沒法好好閱讀。所以老外程序員特意發郵件要求所有代碼使用空格。

至於js為什麼是2個空格而不是4個空格,我想這也應該是個人選擇而已。可能有其他我不知道的考慮。但我個人覺得2個空格會比4個空格好看一些。


我反正一個tab,tab=4個空格,自動替換的


Callback hell 看起來稍微會好一些


2個空格或者4個空格都不是問題,只要整個團隊保持統一即可。問題是請用空格,不要用tab,哈哈哈哈哈


你確定js規範說的是2個空格?應該是4個吧?

CSS編碼規範 - 埋名 - SegmentFault


有時候你並不需要按照規範來。怎麼舒服怎麼寫,最後你可以格式化一下適應團隊就好了=-=反正我是兩個空格


在定義規範的時候考慮大多數人的使用習慣,定義之後就一起遵守,沒有對錯,最終是為了更好的團隊協作。


我反正是一個Tab.

Tab Size: 2

連jquery都支持promise了,擔心個毛的callback hell.


只是為了團隊協作,自己的代碼tab,2空格,4空格都可以。


推薦閱讀:

TAG:前端開發 | JavaScript | 代碼風格 | Nodejs |