為什么編程時(shí)都建議不要用拼音命名?
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
不知道身為程序員的你,曾經(jīng)有沒有用拼音在程序代碼中命名變量名、方法名、注釋等的經(jīng)歷? 作為國(guó)內(nèi)的程序員,可能有小伙伴會(huì)埋怨,編程語(yǔ)言和開發(fā)工具都已經(jīng)⑽牧耍悶匆裘趺戳擻鄭緩寐稹� 現(xiàn)如今漢語(yǔ)普及率這么高的今天,全世界都在學(xué)中國(guó)話,用拼音命名不是挺好。 在這里,我們不妨先思考一下,我們用拼音命名,在實(shí)際軟件開發(fā)過程中,會(huì)有什么問題,缺陷在哪里? ChatGpt回復(fù)帶著疑問,我打開了chatgpt,想知道一下它是怎么看待這個(gè)問題?(面向gpt編程,程序員做事的正確姿勢(shì) ) 以下是gpt給出的答復(fù): ![]() 不得不感嘆,gpt回答的確實(shí)比較專業(yè),考慮問題也比較全面。 接下來,我們一一來拆解一下: 可讀性差如果一個(gè)項(xiàng)目,全程都只有你一個(gè)人編寫與維護(hù),這個(gè)問題的影響面可能相對(duì)還小一點(diǎn)(不要告訴我,時(shí)間一長(zhǎng),你自己都看不懂當(dāng)時(shí)寫的語(yǔ)意了,這就尷尬了 )。 但,事實(shí)往往是,我們需要在一個(gè)大項(xiàng)目中,去編寫部分業(yè)務(wù)模塊代碼。 有時(shí)候,我們?yōu)榱粟s時(shí)間或純粹不想動(dòng)腦筋,用拼音快速命名了一下臨時(shí)變量或方法名。 比如下面這個(gè)例子: var jianceniandu = ... var nongtianchanliang = ... var dikuaibianma = ... var feiliaohanshuilv = ... 這種代碼換做誰(shuí)看得懂,特別是在沒有注釋的前提下。 難以表達(dá)意義大家看下如下兩段代碼的對(duì)比,一個(gè)是用英文命名的方法名,一個(gè)是用拼音命名的方法名,大家感受一下,你更愿意看到的是哪個(gè)? 第一個(gè)方法,都不用我寫注釋,你一看就秒懂,這個(gè)方法表達(dá)的意圖,做的事情。 但第二個(gè),如果拼音簡(jiǎn)短一點(diǎn)的可能還好,但凡還要長(zhǎng)的,你未必一時(shí)能看懂其含義,有時(shí)甚至要深入方法內(nèi)部,查看完所有方法代碼后,你才能反應(yīng)過來,前人寫的這個(gè)方法名表達(dá)的含義。(效率是真的低) public void sendEmail(Message message) { //發(fā)送郵件相關(guān)代碼 } vs public void faSongYouJian(Message message) { //發(fā)送郵件相關(guān)代碼 } IDE搜索困難糾其原因,目前我們開發(fā)使用的IDE都是國(guó)外的軟件,全文索引這塊,對(duì)英文支持良好,但拼音支持不好,所以,有時(shí)候會(huì)影響搜索結(jié)果的。 跨語(yǔ)言兼容性差如果我們的軟件,打算開源,甚至未來有計(jì)劃捐給一些國(guó)外基金會(huì),比如Apache等,那么你寫的代碼,是面向全球化的,但問題來了,如果你寫了拼音這種變量,老外是鐵定看不懂的,這會(huì)顯得這款軟件很不國(guó)際化。 產(chǎn)生歧義關(guān)于這一點(diǎn),先貼幾個(gè)案例,大家可以感受一下,先憋著別笑: 相關(guān)的案例不少,我就不窮舉了。你用拼音命名我就先不說了,你還“簡(jiǎn)稱”代替,你這不要人命嘛。 本文完~
該文章在 2023/9/27 8:54:35 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |