為什麼中文不能做變數名?
如題,正在學Python,小白一隻,在學習中發現Python用中文做變數名也不出錯,但是朋友說不要以中文做變數名,問他也問不出個所以然,還是上逼乎求教各路大神吧emmmmmm
有些名字不想用英文表達懶得翻譯的時候
當然了中文命名還是不推薦的,不利於交流……
我目前為止也就寫用過一次中文變數名,因為數據表本身表頭就是中文……翻譯太燒腦自己給自己增加麻煩就直接用中文了。
(有些項目是用的中文拼音縮寫那才是酸爽)難道你不覺得切輸入法很煩嗎?
可以做變數名,但是不推薦
中文命名你不覺得很辣眼睛嗎?
PS:附上 易語言代碼片段,大家感受下(來源網路,侵刪)
代碼補全的時候一般是輸2~3個字母然後補全出十個,你那中文單詞一共就兩個字元左右,你得先花打十個字母的時間打出第一個漢字,補全基本上就廢了。除非你用很多漢字做變數名。但那樣你第一次輸入就很崩潰。
另外,編碼,編碼。來投奔C#吧,可以中文變數名
1. 英語之外的語言或多或少存在編碼問題,所以在程序主體之內儘可能使用ASCII字元。至於注釋隨你玩。
2. 中英文切換輸入比較麻煩,影響開發效率。
3. 中文同音字多,用拼音容易產生歧義。
所以最好使用英語,但是並不是絕對不能用其它形式,只是自己開發自己看的場合,自己喜歡就好。
因為其他詞法元素(關鍵字、運算符等)都是English的,突然出現幾個Chinese的標識符,你會不會覺得very難受?
這就跟有些人說話喜歡中英文混雜一樣,聽著非常uncomfortable!假設在編碼速度不太影響編程效率,即「確定寫什麼」更為耗時的情況下。
中文標識符有點有
提升對部分以中文為母語者的可讀性。
缺點有破壞語言本身習慣命名的風格。問題是這個優點本身不穩定。不少程序員即使以中文為母語,也認為帶風格的英文標識符可讀性更高。所以若團隊大多數人認為中文標識符可讀性更好,更易於維護,那麼用中文標識符也無妨。否則還是別用為好。先問有沒有,再問問什麼啊!
在 js 中,別說中文,日文韓文顏文字 emoji 都可以當變數名...
說切換輸入法麻煩的,其實前端日常也免不了切換輸入法,這裡不是問題的癥結。我們要探討的不是『為什麼中文不能做變數名』,而是『為什麼大家普遍都不用中文做變數名』
其一,我們所有的編程教材都使用全英文書寫代碼,學院派的同學自然就習慣了這種方式,哪怕是英語特別差的,也會用拼音去湊,說實話,如果通篇拼音,還真不如中文閱讀起來友好。
其二,中文的問題在於輸入法重碼率高,輸入之後還要選字,這個非常影響效率。後端的 RD 哪見過成天輸入法切來切去的搞法。所以我猜可能日文或者俄文做變數的情況會比英中文多,字母文字畢竟是有一打一的。
其三,如果你的代碼需要在命令行下用 vim 編輯,可能會面臨找不到中文輸入法的尷尬問題。
大多數人的日常並不需要給外國人看代碼,中文的可閱讀性也絕對是比英文強的,這兩點完全不是不使用中文變數的原因。
因為我們給變數命名的單詞其實很有限,一般就是幾個單詞翻來覆去的組合起來用,getXXX,setXXX,也很簡單方便。
因為技術的話語權還是比較多的把持在學院派手裡,雖然對於新人來說,用中文還是英文命名都無傷大雅,但是一定會有人跳出來跟你說,你這是異端,是不對的,雖然也不知道為什麼,反之我們老師沒有這麼教過,所以你這就是不對的。
如果你覺得中文變數很好用,又頂得住別人覺得你很奇葩的目光,那就用唄,真的沒啥不行的。
p.s. 前端因為經常切換輸入法,使得有時候會輸入中文分號和句號,非常的不方便,有一個簡單的辦法解決,就是在輸入法中勾選『中文下使用英文標點』
易語言不就可以嗎?
所謂變數名這個東西只在編譯前存在,編譯過後就是一個記號,鏈接完就是一個地址,用英文和中文還有關係嗎?
顯然打字母要比打中文快的多如果你用手機版按鍵精靈編過程,可能你不會問出這個問題。。哈哈
中文算啥。。。emoji 都做給你看。。。
第一,可以。
第二,會很煩。
第三,如果你不信,自己試驗一下就知道。適合的時候用。
比如研究中文語料。要研究一個詞,那麼就可以這個詞為變數名建立一個保有是全文本引用的對象。假設 下面出現的漢字名變數 是同一個文本建立的一些對象。
燒麥.doc //全體文本的一個引用
燒麥.frequence //詞頻燒麥.dist //各文段頻數分布燒麥.similar_to(餃子) //根據屬性比較相似度燒麥.gram_with(3)(鍋盔) //長度在3以內和 鍋盔 形成的gram該用還是逃不開的。然而吹中文編程還是省省。有點餓
用什麼漢字變數名,來玩 Swift,用 emoji 變數名(逃
1.老設備不支持2.團隊有歪果仁3.有裝逼附加值4.沒有文化自信5.辭彙沒法翻譯
勾股定理一般寫成 a^2+b^2=c^2,但能寫成 甲^2+乙^2=丙^2嗎,肯定是能的
氫氣燃燒一般寫成 2H2 + O2 = 2H2O,但能寫成 2氫2 + 氧2 = 2氫2氧嗎 ,肯定是能的
牛頓第二定律一般寫成 F=ma,但能寫成 力=質加 嗎 ,肯定是能的
但是一個學生在考卷上寫出這樣的公式,我想可能會被老師打
又假如一個人說,牛二嘛,力等於質加,多半我會覺得他是個民間科學家
同樣的,能用中文寫代碼么?肯定是能的。標點不同,調成半形就行,編碼不一致,改成UTF8就好。命令行下編輯不了?用ide就是了
一個業餘編程愛好者怎樣寫程序都無所謂,但一個以編程為學業或者職業的人,遵守規範是進門的第一步。用英文寫代碼,最重要的是表明自己對待專業的態度,什麼便於理解,便於交流,副作用罷了。
另外不要覺得這種規範在妨礙自己。編程的創造力在於程序本身,避免細枝末節上費腦筋,才能解放程序員的生產力。懶得切換輸入法
用中文編程只要你輸入方便,沒有任何問題,說不行的,說編碼問題的,那都是次要矛盾,主要矛盾就是裝專業逼。
PS:我個人200萬行的有效代碼經驗,標識符單詞能不縮寫的絕不縮寫,縮寫率在千分之一吧,但我這樣做,只是為了讓在我面前裝逼的人不具備裝逼的資本而已,不代表我不喜歡或者不想用中文,只要輸入效率能達到和英文一樣,那麼理解效率只要適應一段時間馬上就來了。
可以,這是習慣和約定俗成而已。
你可以不遵守,但會付出代價。
比如別人看不懂你的代碼。推薦閱讀:
※對互聯網感興趣但數學不好,該怎麼選專業?
※在滑鐵盧數學coop,滑鐵盧cs以及多倫多大學數學之間如何抉擇?
※有哪些看起來很簡單證明起來卻很難的問題?
※為什麼機器驗證的形式化證明沒有被數學界廣泛採用?
※三本院校的cs學生有沒有必要堅持競賽?