為啥國內(nèi)程序員寫的代碼也用英文注釋?:你好,我是只是說代碼的大餅,很高興回答這個(gè)問題。先說下我自己吧:我自己代碼注釋有時(shí)用英文,有時(shí)用中文,純粹看個(gè)人
你好,我是只是說代碼的大餅,很高興回答這個(gè)問題。
先說下我自己吧:
我自己代碼注釋有時(shí)用英文,有時(shí)用中文,純粹看個(gè)人心情。
因?yàn)楣疽矝]強(qiáng)制要求注釋是用啥。
其他人嘛,我用如下幾點(diǎn)分析下英文注釋的原因:
1.公司強(qiáng)制性要求英文注釋。
2.有的為了上傳Github,讓國外的程序員能看懂自己寫的代碼。
3.因?yàn)閷懘a是要求英文輸入法的,寫完功能代碼后,如果去添加注釋,用中文的話還得切換輸入法,來回切換確實(shí)很麻煩。
4.不排除用英文注釋裝逼格的。但我個(gè)人還是很佩服純粹用英文寫注釋的Coder,前提是不要出現(xiàn)語法錯(cuò)誤喲,哈哈哈,要不然就出大笑話了。
最后,我想說下,有的說系統(tǒng)對(duì)中文支持不好的情況,是注釋的話,出現(xiàn)這種情況也沒啥啊,因?yàn)椴粫?huì)影響到程序的運(yùn)行啊,只要在開發(fā)環(huán)境上不顯示亂碼就ok了。
回答完畢,謝謝。
1.英語注釋表達(dá)含義比較確切
2.不存在亂碼問題
3.不需要來回切換輸入法
4.國際化需求
這是所有原因中最主要的原因。如果不能理解,就想想為什么主流編程語言都支持中文變量名,卻極少有人使用。就是因?yàn)槭褂弥形淖兞棵聘癫桓,?huì)容易被人恥笑。中文注釋,在某些人群中,也是如此。
英語是世界語,搞IT的更應(yīng)當(dāng)盡可能掌握它。因?yàn)榫幊痰暮诵闹R(shí)都是用英語書寫的(操作系統(tǒng)、編譯器、主流編程語言的文檔、最受歡迎的開源庫的文檔等)。強(qiáng)迫用英語寫注釋可以練習(xí)英語。
如果用中文寫注釋,外國的團(tuán)隊(duì)成員或領(lǐng)導(dǎo)可能看不懂。
寫的代碼說不定哪天異常成熟,會(huì)將某些通用庫或通用組件放到開源倉庫中。用英語寫注釋可以國際化,讓全世界的程序員都可以看懂,一起完善。不想當(dāng)將軍的士兵不是好程序員,時(shí)刻做好國際化準(zhǔn)備。
在一些生產(chǎn)環(huán)境的服務(wù)器或嵌入式終端上,因?yàn)槌鲇谛阅芸紤]沒有安裝中文支持,或者很想裝但是不會(huì)也不想學(xué)習(xí)如何安裝。所以只能用純英文寫代碼,包括注釋,否則會(huì)出現(xiàn)亂碼。幾乎所有平臺(tái)都支持ASCII碼,其中包括了所有的英文字符。但是如果支持中文可能需要安裝中文字體。還有一部分人不會(huì)玩轉(zhuǎn)字符編碼(utf8、GBK、是否帶bom等)也索性用純英文。
一部分程序員不會(huì)設(shè)置輸入法切換的快捷鍵,不會(huì)使用輸入法的高級(jí)設(shè)置(比如自定義標(biāo)點(diǎn)、中英文混輸),導(dǎo)致輸入法切換比較繁瑣,所以切換輸入法成了書寫注釋的攔路虎。如果全程使用英語來編寫代碼——包括注釋,就可以有效解決這個(gè)問題。
目前國內(nèi)越來越多的開發(fā)團(tuán)隊(duì)要求程序員采用英文來寫注釋,除了一些常規(guī)的原因(開發(fā)平臺(tái)對(duì)于漢字的支撐不足等)之外,采用英文注釋與開發(fā)團(tuán)隊(duì)國際化和開源要求這兩個(gè)因素有密切的關(guān)系。
隨著國內(nèi)互聯(lián)網(wǎng)企業(yè)的快速發(fā)展,不少開發(fā)團(tuán)隊(duì)已經(jīng)實(shí)現(xiàn)了國際化,尤其是一些大型的互聯(lián)網(wǎng)平臺(tái)類產(chǎn)品更有較為明顯的體現(xiàn),基于同一個(gè)平臺(tái)可能會(huì)開發(fā)出大量的國際化版本,此時(shí)容器部分的代碼注釋就需要采用英文編寫了,這會(huì)在很大程度上方便開發(fā)團(tuán)隊(duì)之間的交流。
近些年來,不少國內(nèi)的大型互聯(lián)網(wǎng)(科技)公司已經(jīng)開始了全球招聘,在國外讀計(jì)算機(jī)相關(guān)專業(yè)的畢業(yè)生應(yīng)該深有體會(huì),而且國內(nèi)企業(yè)往往還會(huì)開出競爭力比較強(qiáng)的薪資待遇。有不少畢業(yè)生在畢業(yè)時(shí)會(huì)選擇在國外的科技公司工作一段時(shí)間,在積累了一定的技術(shù)研發(fā)能力之后再尋求回國內(nèi)發(fā)展,此時(shí)往往會(huì)獲得更高的薪資待遇。這些在國外研發(fā)團(tuán)隊(duì)工作過的研發(fā)人員回國后,也會(huì)進(jìn)一步促進(jìn)國內(nèi)研發(fā)團(tuán)隊(duì)的國際化。
實(shí)際上,除了互聯(lián)網(wǎng)公司之外,很多傳統(tǒng)軟件開發(fā)團(tuán)隊(duì)往往也要求采用英文來注釋代碼,比如很多ERP的研發(fā)團(tuán)隊(duì)就要求代碼要采用英文注釋。由于ERP軟件本身非常龐大,而且很多采用ERP的企業(yè)都是全球布局的,所以采用英文注釋代碼會(huì)在很大程度上方便開發(fā)人員之間的交流,可以比較方便地完成二次開發(fā)。
實(shí)際上,ERP的二次開發(fā)任務(wù)量非常大,很多ERP產(chǎn)品本身就是一個(gè)基本的框架,很多功能都需要根據(jù)企業(yè)的要求進(jìn)行二次開發(fā)。
目前代碼采用英文注釋還有一個(gè)重要的原因,那就是開源的要求。隨著國內(nèi)互聯(lián)網(wǎng)企業(yè)的研發(fā)能力越來越強(qiáng),很多開發(fā)團(tuán)隊(duì)也希望借助于代碼開源來構(gòu)建自己的生態(tài),而要想把代碼開源就必然需要采用英文注釋了。
實(shí)際上,之前有不少開發(fā)團(tuán)隊(duì)在代碼開源之前,會(huì)要求程序員把所有的注釋改成英文的,這個(gè)工作量也是比較大的。
我從事互聯(lián)網(wǎng)行業(yè)多年,目前也在帶計(jì)算機(jī)專業(yè)的研究生,主要的研究方向集中在大數(shù)據(jù)和人工智能領(lǐng)域,我會(huì)陸續(xù)寫一些關(guān)于互聯(lián)網(wǎng)技術(shù)方面的文章,感興趣的朋友可以關(guān)注我,相信一定會(huì)有所收獲。
如果有互聯(lián)網(wǎng)、大數(shù)據(jù)、人工智能等方面的問題,或者是考研方面的問題,都可以在評(píng)論區(qū)留言,或者私信我!
從事軟件開發(fā)多年,發(fā)現(xiàn)一個(gè)有趣的現(xiàn)象,越是技術(shù)水平高的程序員越是喜歡用英文注釋,反而是剛?cè)胄械某绦騿T為了表達(dá)清楚采用中文的注釋,在這首先承認(rèn)一個(gè)事情的真相,雖然國內(nèi)有上百萬的程序員,但是編程語言的主流還是在歐美,無論從編程語言的起源還是編程生態(tài)的建設(shè)方面歐美等國家有著優(yōu)秀的基因,更加重要的一個(gè)因素編程語言采用的是英文編程模式,國內(nèi)也有個(gè)易語言但是影響力實(shí)在是有限,而且易語言幾乎成了游戲外掛的自然編程語言,嚴(yán)格意義上講不是主流編程語言的發(fā)展態(tài)勢(shì)。
編程語言本身就是英語。現(xiàn)在計(jì)算機(jī)的體系架構(gòu)遵循馮諾依曼的計(jì)算機(jī)架構(gòu),編程誕生源頭主要是在歐美,所以在設(shè)計(jì)編程語言的時(shí)候,當(dāng)然會(huì)選擇英文作為基準(zhǔn),所以歐美國家的技術(shù)人員,會(huì)更加適合學(xué)習(xí)編程,起碼能夠排除語言的障礙,在這方面國內(nèi)的人員相對(duì)比較吃虧,所以才有了要學(xué)習(xí)編程語言首先得有一一定的英文基礎(chǔ),單單因?yàn)檎Z言方面就阻擋了很多人去學(xué)習(xí)編程,無形之中增加了編程語言學(xué)習(xí)的門檻,因?yàn)榉g不準(zhǔn)等方面就會(huì)延緩學(xué)習(xí)編程語言的速度。
起碼在國內(nèi)因?yàn)椴欢⑽淖钄嗔撕芏嗳藢W(xué)習(xí)編程的道路,這是歷史遺留下來的問題,也不是短時(shí)間能夠改變的,中國早晚會(huì)擁有屬于自己的編程語言,因?yàn)槿魏我环N編程語言誕生都有其存在的價(jià)值,中文的編程語言早晚會(huì)出現(xiàn),而且早晚會(huì)被國人接受但從今天的角度考慮還是需要很長的一段時(shí)間。
原汁原味的英文編程文檔更加具有權(quán)威性。
由于大量的原汁原味的編程資料都是英文完成,所以不懂得英語想要深刻去學(xué)習(xí)會(huì)遇到非常大的困難。特別是在嵌入式領(lǐng)域很多元器件的功能介紹都是英文方式完成,為了完成一個(gè)寄存器的功能都要查看好英文的datasheet,由于里面充斥著大量的專利名詞,所以讀起來還是非常的晦澀,但是為了了解功能還是需要硬著頭皮看下去,這種算是比較典型的語言障礙了。
因?yàn)椴欢糜⑽淖尯芏嗳耸チ,了解第一手資料的機(jī)會(huì),國內(nèi)很多編程書籍都是直接翻譯國外的書籍完成的,就是為了減輕英文水平不好的人學(xué)習(xí)編程的障礙,但是由于翻譯人員本身不一定是技術(shù)人員有些專業(yè)名詞不一定能夠解釋的非常清楚,所以直接看原汁原味的英文文檔會(huì)理解的更加透徹。
國內(nèi)編程語言生態(tài)并不完善。盡量很多人覺得泱泱中華應(yīng)該有屬于自己國家的編程語言,但編程語言生態(tài)的建設(shè)不是單單編程語言能夠設(shè)計(jì)開發(fā)出來就萬事大吉了,編程語言生態(tài)建設(shè)的前提是匹配當(dāng)前軟件編程的大趨勢(shì),正好趕上歷史機(jī)遇適合推廣,而且無成本的推廣。但目前看國內(nèi)的編程生態(tài)建設(shè)的時(shí)機(jī)并不是很好。
國內(nèi)程序員在編程的時(shí)候時(shí)機(jī)情況是剛?cè)胄械氖橇?xí)慣用中文注釋,隨著技術(shù)能力的提升逐漸習(xí)慣于用英文注釋,用的時(shí)間長了自然就入鄉(xiāng)隨俗了,從創(chuàng)造實(shí)際價(jià)值來看至少在當(dāng)前階段沒有必要刻意去創(chuàng)造一種編程語言,技術(shù)能力整體提升之后,水漲船高該有的自然就有了,希望能幫到你。
說說我自己,
第一,輸入法切換很麻煩。
第二,編碼問題,一不小心跨平臺(tái)編碼,然后就變成了一堆亂碼。
第三,許多系統(tǒng),尤其是比如Linux服務(wù)器,嵌入式系統(tǒng),只能通過終端連上去,這樣的系統(tǒng),中文支持也很不到位。
第四,出錯(cuò)概率小,畢竟中英文切換的時(shí)候,注釋再混合著編碼,很容易出現(xiàn)在代碼里面出現(xiàn)漢字標(biāo)點(diǎn),排查也很麻煩的。純英文環(huán)境可以規(guī)避這種麻煩。
第五,函數(shù)變量名等,見名知意,就對(duì)英文有一定的要求,這個(gè)時(shí)候一般配合英文注釋,更加統(tǒng)一一些。
總之,后端語言,不涉及用戶界面什么的,純英文省去很多麻煩~
真不行的時(shí)候,就用漢語拼音,也很少選擇直接出現(xiàn)漢字~
1,很多開發(fā)軟件不支持漢字庫。
2,即使支持漢字庫,因?yàn)闈h字為雙字節(jié),經(jīng)常出現(xiàn)亂碼。
3,軟件這套東西本就是國外建立的,用這個(gè)東西就得學(xué)別人這套東西。
4,注釋不是給外行看的,內(nèi)行都看得懂。給外行看的時(shí)候才改成中文。
最主要的原因是中英文切換很麻煩,尤其是對(duì)于Intellij IDEA系列的用戶來說。因?yàn)镴etbrains系有個(gè)快捷鍵叫自動(dòng)補(bǔ)全,默認(rèn)快捷鍵是Ctrl+空格,正好和中文輸入法的中英文切換沖突了。
其他原因大概就是英文不熟練,沒辦法準(zhǔn)確描述等等
我一般不加注釋,加注釋也用中文?磦(gè)人習(xí)慣吧
mac還好,公司用win,敲個(gè)花括號(hào)時(shí)常不小心就敲成了中文的,抓狂??shift使用頻率那么高的鍵放倆功能真是腦殘的很,當(dāng)然人家本身就用英語不用切輸入法無所謂了
華裔女賭王就此沒落,生前讓所有 濃情端午粽飄香,青浦邀你“云體 上海:“云端”展現(xiàn)端午節(jié)文化內(nèi) “甜咸大戰(zhàn)”!明星藝人們喜歡什 如何做一個(gè)男人喜歡的情人(如何 當(dāng)你和你同時(shí)出現(xiàn)在同一個(gè)場景中 如何在昏暗的光線下設(shè)置快門速度 教育在生活中的價(jià)值是什么? 世上做壞事的人死后會(huì)面臨什么因 拜登就任總統(tǒng)后的第一步是什么? 同意/不同意:人生最重要的目標(biāo) 二戰(zhàn)后,德國在調(diào)和分歧方面做得 亞伯·林肯恨白人嗎? 一個(gè)編輯能把你的故事毀得有多嚴(yán) 現(xiàn)在的iPhone6還能堅(jiān)持再用一年 曹操為什么不殺司馬懿? 現(xiàn)在買房是不是最便宜的時(shí)候,現(xiàn) 我身邊的農(nóng)業(yè)銀行營業(yè)廳關(guān)了,AT 歐洲媒體評(píng)選CBA最有實(shí)力球員, 榮耀play的6+128和榮耀8X的6+128 螞蟻集團(tuán)是科技公司還是金融公司 請(qǐng)問機(jī)友華為mate30P與華為mate3 聽說老詹修剪一次指甲需要5小時(shí) 為什么說寶寶“一月睡二月哭三月 戴笠人稱戴老板,這個(gè)是怎么叫出 沒有工作能一次性補(bǔ)繳社保么? 我想知道定向師范生和免費(fèi)師范生 肺癌引起的咳嗽是怎樣的呢? 5000mAh電池的5G手機(jī)推薦嗎?要 恒大亞冠表現(xiàn)“差強(qiáng)人意”,你覺