編程經驗點滴----避免使用漢語拼音做變量名


我曾經見過很多人用漢語拼音做變量名,包括用在數據庫中,比如數據庫名、表名、字段名,包括用在 java/c#/c++/javascript 中。

用什么做變量名,本無傷大雅。用漢語拼音做變量名,比用漢字作變量名,要好很多。

問題在於,漢語中,同音字太多,從漢字轉成拼音,很容易轉,很容易懂,不會產生歧義。但是讓另一個人看漢語拼音做的變量名,則需要這個人的思維中,將拼音轉換成漢字,由於同音字的大量存在,會造成理解困難、甚至理解錯誤。

 

同音詞舉例:

fujian, 附件/福建

shanghai, 上海/商海/傷害

biaozhi, 標志/標致/表侄/婊子

BYD, 比亞迪/不要爹

BMW, 寶馬車/別摸我

hanzi, 漢字/漢子

gangcai,剛才/鋼材

xinren, 信任/新人/新任


確實不適合做變量名。

相比較用漢語全拼做變量名的,更不可取的是,很多人用兩個、三個聲母字母,縮寫成一個變量,這種變量更難以理解:因為這種同音詞更多。

 

比如 GC, 就太多同音詞了,這是 ubuntu 的拼音輸入法中的:剛才/歌詞/鋼材/干脆/高層/搞錯/觀測/剛從/過錯/光彩/蓋茨/公測/公測/棺材/共存/該村/公廁/甘草/更慘/館藏/各村/管材/告辭/故此/國粹/干菜/國策

這是 windows 中微軟拼音中的:高層/干脆/剛才/光彩/甘草/故此/鋼材/歌詞/觀測/公廁/共存/果菜/告辭/館藏/滾存/干才/供詞/高參/掛彩/過錯/估測/棺材/國策/鬼才/國粹/孤殘/骨刺/干草/干菜/過從/管材/跟從/高才/構詞/溝槽/怪才/谷倉/光燦/卦辭/更次/固辭/谷草/改竄/攻錯/蓋菜

 

可以想象,如果一個程序員看到以 GC 拼音縮寫做變量名,是難以確定這是什么意思的。

 

我建議還是堅持用英文單詞做變量名,不怕長。很多編程規則中,莫名其妙地規定,變量名不能長。問題是,如果變量名可以取短的,我們自然會取短的,比如 name; 如果變量名取短了,會引起歧義,則我們不得不用長名字,比如 user_chinese_name, user_english_name。

這不是簡單一個規則就能解決的:變量名要少於 n 個字符。

 

另外,變量名長了,並沒有特別明顯的壞處。現在的開發工具 IDE ,都有代碼輸入自動提示功能,並不會需要多敲多少字母。

 

--------------------

歡迎大家下載試用折桂單點登錄系統, http://zheguisoft.com


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM