在編程過程中饭庞,命名隨處可見。我們?cè)诰幊踢^程中轧膘,應(yīng)使命名名副其實(shí)钞螟。這件事很重要也很嚴(yán)肅,選個(gè)好的名字要花很多時(shí)間谎碍,但是我們卻能省下更多的時(shí)間鳞滨。而且我們一旦發(fā)現(xiàn)更好的名字就應(yīng)換掉舊的。
我們?cè)诿麜r(shí)蟆淀,名稱就應(yīng)當(dāng)答復(fù)了大多數(shù)問題拯啦。它應(yīng)該告訴你,它為什么存在熔任,它做什么事褒链,應(yīng)該怎么用。
- 有意義的區(qū)分
我們?cè)诿麜r(shí)應(yīng)依義命名疑苔。萬萬不能使用數(shù)字系列命名(a1碱蒙,a2 ,···,aN)赛惩,這樣的名稱純屬誤導(dǎo)——完全沒有提供正確信息哀墓;沒有提供導(dǎo)向作者意圖的線索。 - 使用讀得出來的名稱
- 使用可搜索的名稱
- 避免使用編碼
- 避免思維映射
不應(yīng)當(dāng)讓讀者把你的名稱翻譯成他們熟知的名稱
-類名
類名和對(duì)象名應(yīng)該是名詞或名詞短語 - 方法名
方法名應(yīng)當(dāng)是動(dòng)詞或動(dòng)詞短語 - 每個(gè)概念對(duì)應(yīng)一個(gè)詞
給每個(gè)抽象概念選一個(gè)詞喷兼,并且一以貫之篮绰。 - 別用雙關(guān)語
- 使用解決方案領(lǐng)域名稱
只有程序員才會(huì)讀你的代碼。所以盡管使用那些計(jì)算機(jī)科學(xué)領(lǐng)域術(shù)語季惯、算法名吠各、模式名、數(shù)學(xué)術(shù)語吧勉抓。
-使用源自所涉問題領(lǐng)域的名稱
如果不能用程序員熟悉的術(shù)語來命名就采取從所涉問題領(lǐng)域來的名稱贾漏。 - 添加有意義的語境
很少有名稱是能自我說明的。所以我們需要用良好命名的類藕筋、函數(shù)或名名稱空間來放置名稱纵散,給讀者提供語境。如果沒有這么做隐圾,可以給名稱添加前綴伍掀。
注意:不要添加沒用的語境,比如給所有類添加同一個(gè)前綴暇藏。只要語義足夠清楚蜜笤,短名稱比長(zhǎng)名稱要好。