{eval=Array;=+count(Array);}

亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

問答專欄Q & A COLUMN

為什么程序員不用空格用下劃線代替?

鄒立鵬鄒立鵬 回答0 收藏1
收藏問題

10條回答

MobService

MobService

回答于2022-06-28 11:42

使用空格的話一個(gè)是看著不明顯,還有就是會(huì)有沖突啊,代碼為了規(guī)范易讀,一般一行代碼,每個(gè)變量,邏輯運(yùn)算,中間都會(huì)用空格隔開,要是其他也都用空格,豈不是都沖突了,甚至直接錯(cuò)誤。



評(píng)論0 贊同0
  •  加載中...
Neilyo

Neilyo

回答于2022-06-28 11:42

或許是我達(dá)不到你的高度,但我覺得你提的這是個(gè)錘子問題,空格替代下劃線,誰替代空格?

原本的變量名: user_first_name = "zhou"

替代后變量名: user first name = "zhou"。

只要你能替代的牛逼,讓美國(guó)人書寫英文時(shí)摒棄之前的觀念,讓他們接受空格兩邊的單詞是同一個(gè)單詞。

評(píng)論0 贊同0
  •  加載中...
muddyway

muddyway

回答于2022-06-28 11:42

結(jié)論:程序員也想用空格,可是程序不允許。本文帶你了解深層次原因。


前言

本文嘗試從多種語言的規(guī)范角度,說明程序代碼,或者命令行內(nèi)為什么不提倡用空格。


語言層面的規(guī)范

本段從各個(gè)語言的角度,說一下。


1 - C語言

C語言是上帝賜給人類的禮物。他有很明確的規(guī)范,最新的也就是 ANSI-C 標(biāo)準(zhǔn)。

在定義變量時(shí),變量名可以是字母、數(shù)字和下劃線的組合。但是也不是隨便的組合,要注意以下幾個(gè)命名規(guī)則:

  1. 變量名的開頭必須是字母或下劃線,不能是數(shù)字。

  2. 變量名中的字母是區(qū)分大小寫的。

  3. 變量名絕對(duì)不可以是C語言關(guān)鍵字

  4. 變量名中不能有空格。

看到了嗎,變量名只能在 a-z, A-Z, 0-9,_,之間選擇,沒有其他項(xiàng)。

第四條,因?yàn)樯鲜鱿拗疲步^對(duì)不允許出現(xiàn)“空格”。


2 - Java語言

Java用途廣泛,使用眾多。

其命名規(guī)則(Naming rules)如下。

  1. 變量名稱區(qū)分大小寫。

  2. 變量的名稱可以是任何合法標(biāo)識(shí)符。

  3. 可以包含Unicode字母、數(shù)字和另外兩個(gè)特殊字符,如下劃線(_)和美元符號(hào)($)。

  4. 變量名的長(zhǎng)度任意。

  5. 變量名以字母開頭(也可以使用下劃線,但一般不用)。

  6. 某些自動(dòng)生成的變量可能包含“$”符號(hào)。

  7. 盡量避免使用“$”符號(hào)。

  8. 不允許使用空格

  9. 不允許使用特殊字符。

  10. 不允許以數(shù)字開頭。

  11. 后續(xù)字符可以是字母、數(shù)字、$符號(hào)或下劃線。

  12. 變量名不能是關(guān)鍵字或保留字。

看到了嗎,空格是不允許使用的。


3 - Python語言

上面兩種都是強(qiáng)類型語言,我們看看以python為代表的解釋型腳本語言規(guī)范如何。

python命名規(guī)則如下:

  1. 變量名僅支持?jǐn)?shù)字、字母和下劃線。

  2. 變量名只能以字母,或下劃線開頭。

  3. 變量名不能以數(shù)字開頭。

  4. 變量名區(qū)分大小寫。

  5. 變量名內(nèi)不允許有空格

  6. 不允許其他特殊字符。

  7. 變量名不能是關(guān)鍵字。

可以看到,python受C語言的影響痕跡很重,基本保持了C的命名規(guī)則。


4 - 比較新的語言GO

我們?cè)倌胓o語言做比較,go是一門現(xiàn)代化的語言,融合了編譯型和解釋性語言的優(yōu)秀設(shè)計(jì)理念,便于開發(fā)使用。

go語言的變量命名規(guī)則:

  1. 名稱必須以字母開頭,并且可以包含任意數(shù)量的其他字母和數(shù)字。

  2. 變量名不能以數(shù)字開頭。

  3. 變量名不能包含空格。

  4. 如果變量的名稱以小寫字母開頭,則只能在當(dāng)前包中訪問該變量,這被視為未導(dǎo)出的變量。

  5. 如果變量的名稱以大寫字母開頭,則可以從當(dāng)前包之外的包訪問該變量,該包被視為導(dǎo)出的變量。

  6. 如果一個(gè)名稱由多個(gè)單詞組成,則第一個(gè)單詞之后的每個(gè)單詞應(yīng)按如下方式大寫:empName、EmpAddress等。

  7. 變量名區(qū)分大小寫(cAR、CaR和CAr是三個(gè)不同的變量)。

  8. 變量名不能是關(guān)鍵字。

從上面的四種語言舉例中,可以看到每種語言都明確寫到“不允許變量名包含空格”。

因?yàn)闊o論是靜態(tài)編譯型語言,還是解釋型語言,都是要將代碼解析為機(jī)器碼執(zhí)行??崭?、換行符、空行是沒有意義的,會(huì)被編譯器忽略。如果使用了帶空格的變量,語法就會(huì)出錯(cuò)。


命令行

說完編程語言代碼層面的內(nèi)容,我們把目光轉(zhuǎn)向命令行,主要介紹一下widnows平臺(tái)和linux平臺(tái)中,空格的特殊用途。


1 - windows dos

widnows平臺(tái)主要說一說dos指令,因?yàn)樗莃at批處理文件的基礎(chǔ)。

空格是位置分隔符,也就是命令行傳入?yún)?shù)argvs用于區(qū)分位置參數(shù)的分隔符。

例如下面這個(gè)創(chuàng)建文件夾指令:

md path ofile

如果加上空格:

md path tofile

則會(huì)創(chuàng)建兩個(gè)目錄 path,和 tofile。這不是我們想要的結(jié)果。


2 - linux shell

linux命令行下,功能幾乎是一樣的,空格是默認(rèn)的位置參數(shù)分隔符。

例如創(chuàng)建如下目錄:

mkdir -pv a/b/c

如果加上空格:

mkdir -pv a/ b/c

結(jié)果也不是我們想要的。


結(jié)語

我們知道,空格在多數(shù)語言內(nèi),或者命令行內(nèi),是保留關(guān)鍵詞,是“占位符”,“分隔符”。

如果與系統(tǒng)命名沖突,造成程序不可控運(yùn)行,這是非常危險(xiǎn)的。


我是@程序員小助手,持續(xù)分享編程與程序員成長(zhǎng)相關(guān)的內(nèi)容,歡迎關(guān)注~~

評(píng)論0 贊同0
  •  加載中...
chaos_G

chaos_G

回答于2022-06-28 11:42

如果你按你說的,一個(gè)變量名以空格開頭,或者以空格結(jié)尾,鬼知道啊。如果空格在名字中間,那鬼知道是一個(gè)變量還是兩個(gè)

評(píng)論0 贊同0
  •  加載中...
Betta

Betta

回答于2022-06-28 11:42

語言中空格是關(guān)鍵詞的分割符號(hào),所以不能在類名或變量名 函數(shù)名等用空格,為了肉眼識(shí)別用駝峰或小劃線

評(píng)論0 贊同0
  •  加載中...
objc94

objc94

回答于2022-06-28 11:42

為什么你說話不用呢,要用了替代啊?因?yàn)槟莻€(gè)地方不能用啊,用了就是錯(cuò)誤的

評(píng)論0 贊同0
  •  加載中...
trilever

trilever

回答于2022-06-28 11:42

一般情況下,空格是分隔符,下劃線不是。

特殊情況下,空格需要轉(zhuǎn)義,下劃線不需要。

評(píng)論0 贊同0
  •  加載中...
silencezwm

silencezwm

回答于2022-06-28 11:42

程序中,帶空格的文件名,空格要加轉(zhuǎn)義字符——我看這個(gè)很不爽——所以程序員給文件命名很忌諱空格

評(píng)論0 贊同0
  •  加載中...
gnehc

gnehc

回答于2022-06-28 11:42

因?yàn)榭崭裨谀J(rèn)我們(計(jì)算機(jī))會(huì)認(rèn)為是空白符,如 (tab符),一般都會(huì)做處理,用_鏈接字符則沒歧義。

評(píng)論0 贊同0
  •  加載中...
Leck1e

Leck1e

回答于2022-06-28 11:42

一個(gè)空格跟兩個(gè)空格可不是容易看出來的

評(píng)論0 贊同0
  •  加載中...

最新活動(dòng)

您已邀請(qǐng)0人回答 查看邀請(qǐng)

我的邀請(qǐng)列表

  • 擅長(zhǎng)該話題
  • 回答過該話題
  • 我關(guān)注的人
向幫助了您的網(wǎng)友說句感謝的話吧!
付費(fèi)偷看金額在0.1-10元之間
<