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

來源:互聯網
上載者:User

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

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

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

 

同音詞舉例:

fujian, 附件/福建

shanghai, 上海/商海/傷害

biaozhi, 標誌/標緻/表侄/婊子

BYD, 比亞迪/不要爹

BMW, 寶馬車/別摸我

hanzi, 漢字/漢子

gangcai,剛才/鋼材

xinren, 信任/新人/新任

確實不適合做變數名。

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

 

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

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

 

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

 

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

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

 

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

 

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

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.