有意義的命名

有意義的命名.png

名副其實

  1. 選個好名字要花時間骂租,但省下來的時間比花掉的多祷杈。
  2. 一旦發(fā)現(xiàn)有更好的名稱,就換掉舊的渗饮。
  3. 好的名稱會告訴你:它為什么會存在吠式,它做什么事,應(yīng)該怎么用抽米。

避免誤導(dǎo)

  1. 應(yīng)該避免留下掩藏代碼本意的錯誤線索特占。應(yīng)當避免使用與本意相悖的詞。
  2. 不要在名稱中寫出容器類型名云茸∈悄浚可以用group或bunchOf或者加s。
  3. 提防使用不同之處較小的名稱标捺。
  4. 以同樣的方式拼寫出同樣的概念才是信息懊纳。拼寫不一致就是誤導(dǎo)。

誤導(dǎo)產(chǎn)生問題原因:程序員大多數(shù)時候根本不看詳細注釋亡容;用IDE的快速搜索功能的時候會因為命名差距較小出現(xiàn)一堆無用的結(jié)果嗤疯。

做有意義的區(qū)分

  • 不要使用相近含義的單詞,例如:ProductData闺兢,ProductInfo茂缚,這里Info和Data就是意義含混的廢話。
  • 廢話是冗余,例如:nameString脚囊,這里name難道會是一個浮點數(shù)不成龟糕。

使用讀得出來的名稱

如果名稱讀不出來,討論的時候就像個傻鳥悔耘。

使用可搜索的名稱

  • 不要使用單字母名稱數(shù)字常量讲岁。很難在一大篇文字中找出來。因此長名稱勝于短名稱衬以,搜得到的名稱勝于用自造編碼代寫就的名稱缓艳。
  • 單字母名稱僅用于短方法的本地變量澜躺,名稱長短應(yīng)與其作用域大小相對應(yīng)姐叁。若變量或常量可能在代碼中多處使用固耘,則應(yīng)賦其以便于搜索的名稱旭旭。

避免使用編碼

  • 編碼已經(jīng)太多,不要在代碼邏輯中又增加一種編碼“語言”绸硕。
  • 帶編碼的語言不利于發(fā)音,容易打錯。

匈牙利語標記法:現(xiàn)代編程語言具有更豐富的類型系統(tǒng)车猬,編譯器記得并強制使用類型。而且尺锚,人們趨向于使用更小的類珠闰、更短的方法,好讓每個變量的定義都在視野范圍之內(nèi)瘫辩。
成員前綴:應(yīng)當把類和函數(shù)做的足夠小伏嗜,消除對成員前綴的需要。使用某種可以高亮或用顏色標出成員的編譯環(huán)境伐厌。
接口與實現(xiàn):我不想讓用戶知道我給他們的是接口承绸。如果接口和實現(xiàn)必須選一個來編碼,選實現(xiàn)挣轨,加Impl军熏。

避免思維映射

不要讓讀者在腦海中把你的名稱翻譯為他們熟知的名稱。這說明你起的名稱不夠明確卷扮。

類名

名詞或名詞詞組

方法名

  • 動詞或動詞詞組荡澎。
  • 屬性訪問器、修改器和斷言應(yīng)該根據(jù)其值命名晤锹,并依JavaBean標準加上get摩幔、set和is前綴。
  • 重載構(gòu)造器時鞭铆,使用:描述了參數(shù)的靜態(tài)工廠方法名或衡,將相應(yīng)的構(gòu)造器私有化,強制使用這種命名手段。

別扮可愛

你的幽默薇宠、文化背景偷办,別人可能不懂。

每個概念對應(yīng)一個詞

給每個抽象概念選一個詞澄港,并且一以貫之椒涯。

別用雙關(guān)語

避免將同一單詞用于不同目的。

使用解決方案領(lǐng)域名稱

只有程序員才會讀你的代碼回梧。所以废岂,盡管用程序員都懂的術(shù)語。依據(jù)問題所涉領(lǐng)域來命名會讓協(xié)作者總是跑去問客戶每個名稱的含義狱意。

使用源自所涉問題領(lǐng)域的名稱

這是在上一條無法使用的時候湖苞,才去使用的辦法,至少負責(zé)維護代碼的程序員能去請教領(lǐng)域?qū)<摇?/p>

優(yōu)秀的程序員和設(shè)計師详囤,其工作之一就是分離解決方案領(lǐng)域和問題領(lǐng)域的概念财骨。與所涉問題領(lǐng)域更為貼近的代碼,應(yīng)當采用源自問題領(lǐng)域的名稱藏姐。

添加有意義的語境

如果前面的都不好使了隆箩,給名稱添加前綴就是最后一招了。當然更好的方案是創(chuàng)建一個類把字段封裝進去羔杨,這樣就提供了語境了捌臊。

不要添加沒用的語境

只要短名稱足夠清楚,就要比長名稱好兜材。別給名稱添加不必要的語境理澎。精確是命名的要點。不要搞到:輸入G曙寡,按下自動完成鍵糠爬,結(jié)果會得到系統(tǒng)中全部類的列表,列表恨不得有一公里那么長举庶。這樣搞的IDE都沒法幫助你V让!灯变!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末殴玛,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子添祸,更是在濱河造成了極大的恐慌滚粟,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,907評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件刃泌,死亡現(xiàn)場離奇詭異凡壤,居然都是意外死亡署尤,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評論 3 395
  • 文/潘曉璐 我一進店門亚侠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來曹体,“玉大人,你說我怎么就攤上這事硝烂』穑” “怎么了?”我有些...
    開封第一講書人閱讀 164,298評論 0 354
  • 文/不壞的土叔 我叫張陵滞谢,是天一觀的道長串稀。 經(jīng)常有香客問我,道長狮杨,這世上最難降的妖魔是什么母截? 我笑而不...
    開封第一講書人閱讀 58,586評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮橄教,結(jié)果婚禮上清寇,老公的妹妹穿的比我還像新娘。我一直安慰自己护蝶,他們只是感情好华烟,可當我...
    茶點故事閱讀 67,633評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著滓走,像睡著了一般。 火紅的嫁衣襯著肌膚如雪帽馋。 梳的紋絲不亂的頭發(fā)上搅方,一...
    開封第一講書人閱讀 51,488評論 1 302
  • 那天,我揣著相機與錄音绽族,去河邊找鬼姨涡。 笑死,一個胖子當著我的面吹牛吧慢,可吹牛的內(nèi)容都是我干的涛漂。 我是一名探鬼主播,決...
    沈念sama閱讀 40,275評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼检诗,長吁一口氣:“原來是場噩夢啊……” “哼匈仗!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起逢慌,我...
    開封第一講書人閱讀 39,176評論 0 276
  • 序言:老撾萬榮一對情侶失蹤悠轩,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后攻泼,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體火架,經(jīng)...
    沈念sama閱讀 45,619評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡鉴象,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,819評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了何鸡。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片纺弊。...
    茶點故事閱讀 39,932評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖骡男,靈堂內(nèi)的尸體忽然破棺而出淆游,到底是詐尸還是另有隱情,我是刑警寧澤洞翩,帶...
    沈念sama閱讀 35,655評論 5 346
  • 正文 年R本政府宣布稽犁,位于F島的核電站,受9級特大地震影響骚亿,放射性物質(zhì)發(fā)生泄漏已亥。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,265評論 3 329
  • 文/蒙蒙 一来屠、第九天 我趴在偏房一處隱蔽的房頂上張望虑椎。 院中可真熱鬧,春花似錦俱笛、人聲如沸捆姜。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽泥技。三九已至,卻和暖如春磕仅,著一層夾襖步出監(jiān)牢的瞬間珊豹,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評論 1 269
  • 我被黑心中介騙來泰國打工榕订, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留店茶,地道東北人。 一個月前我還...
    沈念sama閱讀 48,095評論 3 370
  • 正文 我出身青樓劫恒,卻偏偏與公主長得像贩幻,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子两嘴,可洞房花燭夜當晚...
    茶點故事閱讀 44,884評論 2 354

推薦閱讀更多精彩內(nèi)容