自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

代碼之間為什么要加空格?

開發(fā) 前端
據(jù)我觀察,大多數(shù)人寫代碼喜歡在符號(hào)兩側(cè)加空格,而且還會(huì)嘲諷不加空格的人。這些支持者認(rèn)為,加空格可以讓代碼美觀,增強(qiáng)代碼的可讀性。但是我不喜歡加空格,因?yàn)檫@么寫對(duì)代碼含義沒有影響,浪費(fèi)空間還很麻煩。

 以上,是我在知乎上看到的一個(gè)題目,感覺蠻清新的,說得似乎有理有據(jù)。就好像在說,據(jù)我觀察,大多數(shù)人喜歡早晚刷牙,而且還會(huì)嘲笑不刷牙的人。這些支持者認(rèn)為,刷牙有益于牙齒健康,空腔清新。但我不喜歡刷牙,因?yàn)槲已例X沒壞,吃嘛嘛香。我不認(rèn)為刷牙能保護(hù)牙齒健康,反而很浪費(fèi)時(shí)間。

對(duì)吧?我敢保證,這世界上有不少人不刷牙。說出來不怕大家笑話,我上初中之前真沒刷過牙,就算是到現(xiàn)在,很多農(nóng)村的孩子仍然沒有刷牙的習(xí)慣。

在我寫代碼的前一兩年里,寫代碼也不習(xí)慣加空格,覺得很麻煩,并且加不加空格,真的不影響代碼的運(yùn)行效果。

 

  1. // 加空格的寫法 
  2. int a = 5; 
  3. int b = 3; 
  4. a = a + b; 
  5.  
  6. // 不加空格的寫法 
  7. int a=5; 
  8. int b=3; 
  9. a=a+b; 

想知道為什么后來我開始刷牙了呢?

記得小學(xué)五年級(jí)的時(shí)候,牙齒疼過一次,真的是喪心病狂地疼,什么東西也吃不了。那時(shí)候,哪有看牙科的,完全沒有,至少在我那時(shí)候的成長環(huán)境下。

沒辦法,疼了大概有一周的時(shí)間,終于打聽到鄰村有一個(gè)老先生,他那有秘方,父母就帶我去了。還真的見效,某一種秘制的液體滴在牙齒上,超級(jí)冰涼的那種,感覺整個(gè)牙齒完全失去了知覺。

有了這段痛苦的記憶,上初中后,看到很多同學(xué)都刷牙,于是我也就買了牙刷。初中的條件還是很差勁的,冬天,沒有熱水,洗臉的水和刷牙的水,都是前一天下午飯缸里接的水,放在課桌里。第二天早上到了教室,同學(xué)們就互幫互助,端著對(duì)方的飯缸倒水洗臉,臉沒凍壞,牙沒凍壞就是萬幸啊。

我在代碼里加空格,和開始刷牙有相似的經(jīng)歷。

 

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

哦,老天,上面這段代碼里就完全沒有空格,看起來密密麻麻,可讀性差到你感覺自己的雙眼受到了侮辱。

當(dāng)符號(hào)兩側(cè)的單詞很簡單的時(shí)候,簡單到只有 a 和 b 的時(shí)候,的確,不加空格好像看起來更緊湊一些。但考慮到實(shí)際的編碼中,命名要有意義,長度都不會(huì)太短,這時(shí)候,如果沒有空格的輔助,代碼就真的不堪入目了。

 

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

OK,現(xiàn)在加了空格,是不是觀感上就完全不一樣了。單詞與單詞之間,很清楚,很協(xié)調(diào),不拖泥帶水。

一般的 IDE 都有自動(dòng)格式化代碼的快捷鍵,寫完代碼來那么一下,立馬就會(huì)把該有的空格給加上。我現(xiàn)在已經(jīng)完全習(xí)慣手敲空格了,感覺自己很優(yōu)雅,甚至有點(diǎn)大師范的感覺,畢竟程序員還是要有點(diǎn)追求的,對(duì)吧?

說到這,不得不替古人感慨一下,由于紙張稀缺,所以大師們寫出來的文章都是沒有標(biāo)點(diǎn)符號(hào)的,要是沒點(diǎn)文化水平,密密麻麻一團(tuán)的字?jǐn)D在一起,真不一定能讀的懂,況且漢語是這么博大精深。

我們算是幸運(yùn)的,讀到的文言文都經(jīng)過了加工,編輯們幫我們加了標(biāo)點(diǎn)符號(hào),所以看起來不至于那么吃力。但我就特別討厭一些題目,讓加標(biāo)點(diǎn)符號(hào)斷句的那些,很無聊。

所以,別任性,該加空格就加空格,你寫的代碼可不只是給你一個(gè)人看的,負(fù)責(zé)任點(diǎn)。

換句話說,我也可以寫文章不換行,對(duì)吧?寫一行兩行文字真沒必要換行。但段落多了,還不換行,我保證你看不下去。

不過,需要注意一點(diǎn)的是,我看有些視頻課里,有些講課人習(xí)慣什么地方都加空格,我也是有點(diǎn)受不了的,比如說方法名和小括號(hào)之間——public void print (),這就有點(diǎn)不合時(shí)宜了。

按照規(guī)約來說,方法名和小括號(hào)之間是不需要空格的,因?yàn)闆]有空格看起來更自然,更像一個(gè)方法,而不是割裂的關(guān)鍵字和小括號(hào)。

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

最次,你應(yīng)該寫成下面這樣子:

 

  1. if (isTrue) { 
  2.  
  3. else { 
  4.  

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

做程序員嘛,總得有個(gè)程序員的樣子,想優(yōu)雅點(diǎn)的話,把非“!”用上——if (!isFlase),搞那些無病呻吟的代碼,真的很掉檔次。

無規(guī)矩不成方圓,你如果不想遵守代碼規(guī)約的話,不想團(tuán)隊(duì)協(xié)作的話,請(qǐng)隨意處置你的代碼,誰也拿你沒辦法。逃逃逃)

責(zé)任編輯:華軒 來源: 沉默王二
相關(guān)推薦

2022-06-09 08:32:21

SQLNOLOCKWITH

2021-09-14 10:48:13

SQL Nolock代碼

2022-11-15 08:35:00

SQLNOLOCK數(shù)據(jù)

2023-04-06 08:43:29

SQLWITH(NOLOCK

2022-07-01 08:35:50

keyReact前端

2009-09-07 16:45:54

.NET代碼設(shè)計(jì)

2019-08-28 16:38:49

finalJava編程語言

2015-08-06 10:14:15

造輪子facebook

2022-08-15 08:27:02

基站網(wǎng)絡(luò)

2011-08-15 10:10:47

編程

2014-08-28 11:12:14

谷歌

2013-03-12 14:30:09

Ubuntu操作系統(tǒng)

2017-09-08 08:35:16

Android代碼API設(shè)計(jì)

2024-10-17 16:41:57

KafkaZooKeeper

2014-08-25 10:00:18

開源

2015-05-12 11:04:42

Java EE學(xué)習(xí)Java EE

2019-03-19 08:59:13

物聯(lián)網(wǎng)IOT技術(shù)

2019-11-27 10:25:15

SaaS云端IT架構(gòu)

2021-02-11 13:30:56

Nodejs源碼c++

2017-04-05 16:40:45

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)