二、有意義的命名

1.名副其實(shí)

比較如下兩段代碼(忽略變量未定義問題)

這就是選用好名稱的力量

2.做有意義的區(qū)分

誰能說出下面這三個(gè)方法的區(qū)別?

getActiveAccount(); ??getActiveAccounts(); ? getActiveAccountInfo();

3.避免使用編碼

(1)比較如下兩段代碼

代碼讀得越多,眼中就越?jīng)]有前綴。最終前綴就變作了不入法眼的廢料。

(2)接口和實(shí)現(xiàn)

創(chuàng)建一個(gè)抽象工廠,該工廠是個(gè)接口,要用具體類來實(shí)現(xiàn)。如何來命名呢?IshapeFactory和ShapeFactory嗎?但我不想讓用戶知道我給他們的是接口,我就想讓他們知道那是個(gè)Factory,完全可以讓接口命名為ShapeFactory,實(shí)現(xiàn)命名為ShapeFactoryImp。

4.類名和方法名

類名應(yīng)該是名詞或名詞短語,方法名應(yīng)該是動(dòng)詞或動(dòng)詞短語。JavaBean要有g(shù)et,set,is前綴。重載構(gòu)造方法時(shí),使用描述了參數(shù)的靜態(tài)工廠方法名。例如,

Complex point = Complex.FromRealNumber(23.0);

通常好于

Complex point = new Complex(23.0);

5.每個(gè)概念對(duì)應(yīng)一個(gè)詞

例如,使用fetch,retrieve,get來給多個(gè)類的同種方法命名,你怎么記得住哪個(gè)類中是用哪個(gè)方法呢?同樣,在同一堆代碼中既有controller,又有manager,還有driver,這就會(huì)讓人困惑。

6.添加有意義的語境

比較如下兩段代碼


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 名副其實(shí): 變量、函數(shù)或類的名稱就能夠說明為什么它存在,做什么事,怎么用,如果需要注釋來補(bǔ)充,就不算名副其實(shí): 避...
    樹下老男孩閱讀 945評(píng)論 0 3
  • 名副其實(shí) 變量名應(yīng)該告訴你:他為什么會(huì)存在,他做什么事,他應(yīng)該怎么用 如果名稱需要注釋來補(bǔ)充,那就不算名副其實(shí) p...
    denuth閱讀 289評(píng)論 3 0
  • 思考一下從華德?薩姆基(Walter Semkiw)所著《轉(zhuǎn)世的革命家(Return of the Revolut...
    卡樂be閱讀 348評(píng)論 0 0
  • 了解Hexo Hexo DocsHexo命令大全 了解markdown語法 makedown語法簡(jiǎn)明版 maked...
    fellyvette閱讀 685評(píng)論 0 4

友情鏈接更多精彩內(nèi)容