有意義的命名

在編程過(guò)程中,命名隨處可見(jiàn)。我們?cè)诰幊踢^(guò)程中,應(yīng)使命名名副其實(shí)。這件事很重要也很嚴(yán)肅,選個(gè)好的名字要花很多時(shí)間,但是我們卻能省下更多的時(shí)間。而且我們一旦發(fā)現(xiàn)更好的名字就應(yīng)換掉舊的。
我們?cè)诿麜r(shí),名稱就應(yīng)當(dāng)答復(fù)了大多數(shù)問(wèn)題。它應(yīng)該告訴你,它為什么存在,它做什么事,應(yīng)該怎么用。

  • 有意義的區(qū)分
    我們?cè)诿麜r(shí)應(yīng)依義命名。萬(wàn)萬(wàn)不能使用數(shù)字系列命名(a1,a2 ,···,aN),這樣的名稱純屬誤導(dǎo)——完全沒(méi)有提供正確信息;沒(méi)有提供導(dǎo)向作者意圖的線索。
  • 使用讀得出來(lái)的名稱
  • 使用可搜索的名稱
  • 避免使用編碼
  • 避免思維映射
    不應(yīng)當(dāng)讓讀者把你的名稱翻譯成他們熟知的名稱
    -類名
    類名和對(duì)象名應(yīng)該是名詞或名詞短語(yǔ)
  • 方法名
    方法名應(yīng)當(dāng)是動(dòng)詞或動(dòng)詞短語(yǔ)
  • 每個(gè)概念對(duì)應(yīng)一個(gè)詞
    給每個(gè)抽象概念選一個(gè)詞,并且一以貫之。
  • 別用雙關(guān)語(yǔ)
  • 使用解決方案領(lǐng)域名稱
    只有程序員才會(huì)讀你的代碼。所以盡管使用那些計(jì)算機(jī)科學(xué)領(lǐng)域術(shù)語(yǔ)、算法名、模式名、數(shù)學(xué)術(shù)語(yǔ)吧。
    -使用源自所涉問(wèn)題領(lǐng)域的名稱
    如果不能用程序員熟悉的術(shù)語(yǔ)來(lái)命名就采取從所涉問(wèn)題領(lǐng)域來(lái)的名稱。
  • 添加有意義的語(yǔ)境
    很少有名稱是能自我說(shuō)明的。所以我們需要用良好命名的類、函數(shù)或名名稱空間來(lái)放置名稱,給讀者提供語(yǔ)境。如果沒(méi)有這么做,可以給名稱添加前綴。
    注意:不要添加沒(méi)用的語(yǔ)境,比如給所有類添加同一個(gè)前綴。只要語(yǔ)義足夠清楚,短名稱比長(zhǎng)名稱要好。
最后編輯于
?著作權(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)容

  • 本章,作為整潔代碼的頭一步,致力于規(guī)范命名規(guī)則。 圖片來(lái)自<Clean Code> 所謂名不正則言不順,命名的好,...
    徐朝_尼克徐閱讀 812評(píng)論 0 1
  • 名副其實(shí) 選個(gè)好名字要花時(shí)間,但省下來(lái)的時(shí)間比花掉的多。 一旦發(fā)現(xiàn)有更好的名稱,就換掉舊的。 好的名稱會(huì)告訴你:它...
    lsh的學(xué)習(xí)筆記閱讀 278評(píng)論 0 0
  • 名副其實(shí): 變量、函數(shù)或類的名稱就能夠說(shuō)明為什么它存在,做什么事,怎么用,如果需要注釋來(lái)補(bǔ)充,就不算名副其實(shí): 避...
    樹(shù)下老男孩閱讀 946評(píng)論 0 3
  • 2.2 名副其實(shí) 在代碼中體現(xiàn)上下文的語(yǔ)境,能夠知道這段代碼想干什么; 2.3 避免誤導(dǎo) 避免留下隱藏代碼本意的線...
    coding_zero閱讀 349評(píng)論 0 0
  • 凈空法師:惡念太多相貌就不好看 佛在經(jīng)論上告訴我們,一切眾生的相,是業(yè)力變現(xiàn)的。相的好丑,就是善惡業(yè)的現(xiàn)前。俗話常...
    磬思candy閱讀 839評(píng)論 0 2

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