代碼之間爲何要加空格?

據我觀察,大多數人寫代碼喜歡在符號兩側加空格,並且還會嘲諷不加空格的人。這些支持者認爲,加空格可讓代碼美觀,加強代碼的可讀性。可是我不喜歡加空格,由於這麼寫對代碼含義沒有影響,浪費空間還很麻煩。我不認爲多幾個空格就能讓本來凌亂的代碼清晰起來,反而會讓代碼看起來很鬆散,影響閱讀。java

以上,是我在知乎上看到的一個題目,感受蠻清新的,說得彷佛有理有據。就好像在說,據我觀察,大多數人喜歡遲早刷牙,並且還會嘲笑不刷牙的人。這些支持者認爲,刷牙有益於牙齒健康,空腔清新。但我不喜歡刷牙,由於我牙齒沒壞,吃嘛嘛香。我不認爲刷牙能保護牙齒健康,反而很浪費時間。git

對吧?我敢保證,這世界上有很多人不刷牙。說出來不怕你們笑話,我上初中以前真沒刷過牙,就算是到如今,不少農村的孩子仍然沒有刷牙的習慣。程序員

在我寫代碼的前一兩年裏,寫代碼也不習慣加空格,以爲很麻煩,而且加不加空格,真的不影響代碼的運行效果。github

// 加空格的寫法
int a = 5;
int b = 3;
a = a + b;

// 不加空格的寫法
int a=5;
int b=3;
a=a+b;

想知道爲何後來我開始刷牙了呢?web

記得小學五年級的時候,牙齒疼過一次,真的是喪心病狂地疼,什麼東西也吃不了。那時候,哪有看牙科的,徹底沒有,至少在我那時候的成長環境下。面試

沒辦法,疼了大概有一週的時間,終於打聽到鄰村有一個老先生,他那有祕方,父母就帶我去了。還真的見效,某一種祕製的液體滴在牙齒上,超級冰涼的那種,感受整個牙齒徹底失去了知覺。微信

有了這段痛苦的記憶,上初中後,看到不少同窗都刷牙,因而我也就買了牙刷。初中的條件仍是不好勁的,冬天,沒有熱水,洗臉的水和刷牙的水,都是前一天下午餐缸裏接的水,放在課桌裏。次日早上到了教室,同窗們就互幫互助,端着對方的飯缸倒水洗臉,臉沒凍壞,牙沒凍壞就是萬幸啊。app

我在代碼里加空格,和開始刷牙有類似的經歷。less

Thisisavarofthings=yourfuckingtype+otherdamnedresult*me;
oh=mygodblessedsweetheart-thesaintangel/cursedcorpsehere;

哦,老天,上面這段代碼裏就徹底沒有空格,看起來密密麻麻,可讀性差到你感受本身的雙眼受到了侮辱。學習

當符號兩側的單詞很簡單的時候,簡單到只有 a 和 b 的時候,的確,不加空格好像看起來更緊湊一些。但考慮到實際的編碼中,命名要有意義,長度都不會過短,這時候,若是沒有空格的輔助,代碼就真的不堪入目了。

Thisisavarofthings = yourfuckingtype + otherdamnedresult * me;
oh = mygodblessedsweetheart - thesaintangel / cursedcorpsehere;

OK,如今加了空格,是否是觀感上就徹底不同了。單詞與單詞之間,很清楚,很協調,不拖泥帶水。

通常的 IDE 都有自動格式化代碼的快捷鍵,寫完代碼來那麼一下,立馬就會把該有的空格給加上。我如今已經徹底習慣手敲空格了,感受本身很優雅,甚至有點大師範的感受,畢竟程序員仍是要有點追求的,對吧?

說到這,不得不替古人感慨一下,因爲紙張稀缺,因此大師們寫出來的文章都是沒有標點符號的,要是沒點文化水平,密密麻麻一團的字擠在一塊兒,真不必定能讀的懂,何況漢語是這麼博大精深。

咱們算是幸運的,讀到的文言文都通過了加工,編輯們幫咱們加了標點符號,因此看起來不至於那麼吃力。但我就特別討厭一些題目,讓加標點符號斷句的那些,很無聊。

因此,別任性,該加空格就加空格,你寫的代碼可不僅是給你一我的看的,負責任點。

換句話說,我也能夠寫文章不換行,對吧?寫一行兩行文字真不必換行。但段落多了,還不換行,我保證你看不下去。

不過,須要注意一點的是,我看有些視頻課裏,有些講課人習慣什麼地方都加空格,我也是有點受不了的,好比說方法名和小括號之間——public void print (),這就有點不合時宜了。

按照規約來講,方法名和小括號之間是不須要空格的,由於沒有空格看起來更天然,更像一個方法,而不是割裂的關鍵字和小括號。

寫代碼不是鑽牛角尖,就像有些人喜歡在 if 語句裏使用 == false 同樣——if (isFlase == false) {},他以爲這樣的代碼更具備可讀性,這不是出來搞笑的嗎?

最次,你應該寫成下面這樣子:

if (isTrue) {

else {

}

這都比在 if 條件中使用 == false 來得讓人舒服。

作程序員嘛,總得有個程序員的樣子,想優雅點的話,把非「!」用上——if (!isFlase),搞那些無病呻吟的代碼,真的很掉檔次。

無規矩不成方圓,你若是不想遵照代碼規約的話,不想團隊協做的話,請隨意處置你的代碼,誰也拿你沒辦法。逃逃逃)

若是以爲文章對你有點幫助,請微信搜索「 沉默王二 」第一時間閱讀。

本文已收錄 GitHub,傳送門~ ,裏面更有大廠面試完整考點,歡迎 Star。

我是沉默王二,一枚有顏值卻靠才華苟且的程序員。關注便可提高學習效率,別忘了三連啊,點贊、收藏、留言,我不挑,嘻嘻

相關文章
相關標籤/搜索