標籤:

為什麼google編程風格指南設置縮進為2個空格?

最近看了很多都是4格,但是google的卻是推薦兩格,linux下8格。不是很理解兩個縮進有什麼好處,看著不是很方便


一般來說如果一個語言可能導致的縮進層次很多的話,縮進的空格就會減少,這樣才能最大限度避免自動折行和行過長問題。。。

像C這樣的語言,默認縮進只有一層,也就是函數體,絕大部分代碼都是寫在函數體內,縮進空格加長也能避免程序員寫出各種莫名其妙的控制流語句嵌套(for嵌for,if嵌if),過多的嵌套層次是邪惡的,應該抽出成為獨立的函數。

到了C#/Java這樣的語言,默認縮進層次一下子就增加到了三層,命名空間,類,方法,如果這個時候還採用8空格縮進,那麼基本上有用的代碼在第24個字元的地方才會出現,一般一個屏幕一行顯示80-120個字元,那麼意味著基本上1/3-1/4個屏幕都是空白的,這是巨大的浪費,所以這些語言的程序員和規範,都不可能再採用8空格縮進,以4空格縮進和2空格縮進居多。

而Google這個公司呢,經常開發各種高大上的語言(如JavaScript),有著各種閉包、函數式等等高超的技巧,各種回調函數內嵌等等,代碼出現在五六層縮進都是常有的事情,這時候就不得不把縮進的空格再砍掉點兒了。


為什麼有的地方靠左行駛,有的地方靠右行駛?習慣而已。


更容易不用折行就80列


js寫起來短


推薦閱讀:

UML 還有用嗎?
關於內存地址和顯存地址?
C 語言是學編程的基礎嗎?
在編程過程中boolean變數一般怎麼命名?
計算機系的學生應該考什麼證?

TAG:編程 |