精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

你真的會(huì)給變量命名嗎?

開(kāi)發(fā) 前端
有讀者看到標(biāo)題就開(kāi)始敲鍵盤了,這還需要寫個(gè)文章來(lái)水?命名不就是不能用 abc、123 這種,名字要有意義嘛,這有啥好講的?

[[429099]]

有讀者看到標(biāo)題就開(kāi)始敲鍵盤了,這還需要寫個(gè)文章來(lái)水?命名不就是不能用 abc、123 這種,名字要有意義嘛,這有啥好講的?

但現(xiàn)實(shí)中,雖然懂得名字要有意義,很多程序員依然無(wú)法逃離命名沼澤。

萬(wàn)金油命名法

什么叫精準(zhǔn)?

看段代碼:

看上去不是挺正常嗎?有何不可?

那我問(wèn)你,這段代碼在干嘛?你就得全神貫注去閱讀代碼細(xì)節(jié)了。已閱后,你說(shuō)這段代碼不就是把一個(gè)章節(jié)的翻譯狀態(tài)改成翻譯中。

為何你得閱完這段代碼細(xì)節(jié),才知道該方法在干嘛?

問(wèn)題就在方法名 - processChapter,該方法是在處理章節(jié)沒(méi)錯(cuò),但這名太寬泛。如果說(shuō)“將章節(jié)的翻譯狀態(tài)改成翻譯中”就叫處理章節(jié),那么請(qǐng)問(wèn):

  • 將章節(jié)的翻譯狀態(tài)改成翻譯完畢
  • 修改章節(jié)內(nèi)容

是不是也能叫處理章節(jié)呢?

所以,這的確是個(gè)過(guò)于寬泛的方法名,沒(méi)有大錯(cuò),但不精確!

乍一看,這名字有含義,但實(shí)際卻不能有效反映這段代碼的具體含義。

若做的是個(gè)信息處理系統(tǒng),你根本無(wú)法判斷,這是個(gè)博客平臺(tái)還是個(gè)圖書管理系統(tǒng)呢?

從溝通角度看,這就不是一個(gè)有效信息表達(dá)。想理解它,需要消耗大量時(shí)間精力。

命名過(guò)于寬泛,不能精確描述,這是很多代碼命名現(xiàn)狀,也是讓祖?zhèn)鞔a難以理解的根因。

回想這些命名:data、info、flag、process、handle、build、maintain、manage、modify......

這些都屬于 過(guò)于寬泛的命名,當(dāng)這些名字出現(xiàn)在你的代碼,可以肯定作者當(dāng)時(shí)也沒(méi)想好用啥名字,就開(kāi)始隨便起個(gè)萬(wàn)金油名字繼續(xù)coding了。

扯半天,那它不能叫處理章節(jié),那該叫啥?

  • 命名要能精確描述該方法在做什么

這段代碼就是“將章節(jié)改為翻譯中”。那是不是該叫 changeChapterToTranlsating?相比處理章節(jié),這個(gè)名字已經(jīng)算進(jìn)步了,但也不算是個(gè)好名字,因?yàn)樗嗟氖窃诿枋鲞@段代碼在做的細(xì)節(jié)。而封裝一段代碼成方法,就是因?yàn)槲覀儾幌胫肋^(guò)多細(xì)節(jié)。如果把細(xì)節(jié)平鋪開(kāi)來(lái),那就和直接讀代碼細(xì)節(jié)沒(méi)啥區(qū)別了。

  • 好名字應(yīng)該描述意圖,而非細(xì)節(jié)

這段代碼為何要將翻譯狀態(tài)修改成翻譯中呢?一定是有所圖的。把翻譯狀態(tài)改成翻譯中,是因?yàn)槲覀冊(cè)谶@里開(kāi)啟了一個(gè)翻譯的過(guò)程。所以,這個(gè)方法應(yīng)該叫 startTranslation

技術(shù)術(shù)語(yǔ)命名法

再看一段代碼:

這!也能有問(wèn)題?我天天看到還寫這種代碼啊。

是的,我知道你們都在寫這種風(fēng)格代碼,這就是另一個(gè)經(jīng)典問(wèn)題:技術(shù)術(shù)語(yǔ)命名法。

之所以叫 bookList,在于其聲明類型是 List。這種命名幾乎隨處可見(jiàn),如 xxMap、xxSet。

這也是種不費(fèi)腦命名法,但這種命名卻會(huì)帶來(lái)很多問(wèn)題,因?yàn)槭腔诩夹g(shù)實(shí)現(xiàn)細(xì)節(jié)的命名方式。

我們都知道面向接口編程原則,就是不要面向?qū)崿F(xiàn)編程,因?yàn)榻涌谑欠€(wěn)定的,而實(shí)現(xiàn)易變不穩(wěn)定。大多數(shù)人只覺(jué)得該原則是針對(duì)類型的,但命名方面,也同樣應(yīng)該遵循。比如,我發(fā)現(xiàn)現(xiàn)在需要的是個(gè)不重復(fù)作品集合,即我得把這個(gè)變量的類型從 List 改成 Set。變量類型相信你一定會(huì)改,但變量名你會(huì)改嗎?還真不一定,一旦忘了,就會(huì)出現(xiàn):一個(gè) bookList 變量,居然是Set類型!

那怎么命名呢?得有個(gè)更能表達(dá)意圖的名字,這段代碼表達(dá)的就是拿到一堆書,所以可以叫 books。

這名字更簡(jiǎn)單,也很表達(dá)意圖了。

追根究底,使用技術(shù)名詞,一般因?yàn)樗鄙賹?duì)應(yīng)模型。

比如,在業(yè)務(wù)代碼里若直接出現(xiàn) Redis:

通常來(lái)說(shuō),這里真正需要的是個(gè)緩存。Redis 只是緩存模型的一個(gè)具體實(shí)現(xiàn):

但其實(shí)緩存這個(gè)概念也是個(gè)技術(shù)專業(yè)術(shù)語(yǔ),也不應(yīng)出現(xiàn)在業(yè)務(wù)代碼中。

做得好的是 Spring,使用 Spring 時(shí),若需要緩存,一般是加個(gè)注解:

很多人愛(ài)用技術(shù)名詞去命名,大多因?yàn)椋?/p>

  • 熟悉的語(yǔ)言
  • 寫代碼,很多都是參考別人代碼,優(yōu)秀代碼都是一些開(kāi)源技術(shù)項(xiàng)目。那在一個(gè)技術(shù)類項(xiàng)目中,這些技術(shù)術(shù)語(yǔ)其實(shí)也就是它的業(yè)務(wù)語(yǔ)言。但對(duì)于我們的業(yè)務(wù)類項(xiàng)目,就不能生搬硬套了

若該部分確實(shí)就是處理一些技術(shù),使用技術(shù)術(shù)語(yǔ)無(wú)可厚非,但若是在處理業(yè)務(wù),就要盡可能規(guī)避技術(shù)術(shù)語(yǔ)。

像xxMap這種命名,表示映射關(guān)系,如:書id與書的映射關(guān)系,難道也不能命名為bookIdMap?

Map 表示的是個(gè)數(shù)據(jù)結(jié)構(gòu),而映射關(guān)系推薦寫成 Mapping。

高級(jí)點(diǎn)的壞味道

前面的壞味道其實(shí)本質(zhì)都是同一問(wèn)題:對(duì)業(yè)務(wù)理解不到位。

編寫可維護(hù)的代碼要使用業(yè)務(wù)語(yǔ)言。那如何知道自己的命名是否用的是業(yè)務(wù)語(yǔ)言呢?

把這個(gè)詞講給PM聽(tīng),看他懂是啥不。

團(tuán)隊(duì)里若每個(gè)人都根據(jù)自己理解命名,就可能出現(xiàn)百家爭(zhēng)鳴的命名,所以,一個(gè)良好的團(tuán)隊(duì)實(shí)踐是建立團(tuán)隊(duì)的業(yè)務(wù)詞匯表,統(tǒng)一業(yè)務(wù)命名。

當(dāng)團(tuán)隊(duì)對(duì)業(yè)務(wù)有了一致的理解后,興許還能發(fā)現(xiàn)更高級(jí)的壞味道:

看方法名,應(yīng)該是確認(rèn)章節(jié)內(nèi)容審核通過(guò)。

但我有一問(wèn),chapterId 是審核章節(jié)的 ID,這沒(méi)問(wèn)題,但 userId 是啥?了解背景后,才知道這里要 userId,是因?yàn)樾枰涗泴徍巳诵畔ⅰ?/p>

通過(guò)業(yè)務(wù)的分析,就發(fā)現(xiàn),這個(gè) userId 不是個(gè)好名字,因?yàn)樗€需要更多解釋,更好的命名是 reviewerUserId,因?yàn)檫@用戶在當(dāng)前場(chǎng)景下就是審核人(Reviewer)角色。

 

這也是一種萬(wàn)金油命名法,但它不是那種一眼就能看出的壞味道,而是需要在業(yè)務(wù)層進(jìn)行討論,所以,算個(gè)高級(jí)壞味道。

 

責(zé)任編輯:武曉燕 來(lái)源: JavaEdge
相關(guān)推薦

2016-06-01 15:42:58

Hadoop數(shù)據(jù)管理分布式

2020-04-17 14:25:22

Kubernetes應(yīng)用程序軟件開(kāi)發(fā)

2014-04-17 16:42:03

DevOps

2022-07-26 00:00:22

HTAP系統(tǒng)數(shù)據(jù)庫(kù)

2025-08-06 08:53:35

2010-07-05 16:33:00

PHPPHP命名空間

2021-11-09 09:48:13

Logging python模塊

2021-04-23 07:27:31

內(nèi)存分配CPU

2022-08-15 10:42:50

千兆網(wǎng)絡(luò)千兆光纖

2021-01-15 07:44:21

SQL注入攻擊黑客

2024-04-23 08:31:57

pythonfalse

2023-05-17 08:52:56

Java原子性可見(jiàn)性

2017-11-02 16:03:12

2023-03-16 10:49:55

2014-11-28 10:31:07

Hybrid APP

2020-02-27 10:49:26

HTTPS網(wǎng)絡(luò)協(xié)議TCP

2019-05-13 14:17:06

抓包Web安全漏洞

2019-09-16 08:40:42

2012-10-24 10:16:17

IT工程師云計(jì)算網(wǎng)絡(luò)管理

2012-05-31 09:56:54

云安全
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

国产精品青草综合久久久久99| 伊人久久成人| 69堂国产成人免费视频| 亚洲av综合色区| 日本人妻熟妇久久久久久| 久久久精品五月天| 欧美成人精品一区二区| 国产精品揄拍100视频| 国产资源一区| 午夜天堂影视香蕉久久| 午夜精品区一区二区三| 午夜精品小视频| 日韩精品一二区| 欧美国产日韩一区二区| 动漫精品一区二区三区| 免费观看在线一区二区三区| 欧美性猛交xxxx乱大交极品| 国产精品亚洲天堂| 免费一级在线观看| 国产精品1区二区.| 国产成人一区二区| 国产精久久久久久| 国产精品99久久久久久动医院| 亚洲第一精品福利| www.夜夜爽| 伊人久久综合一区二区| 一区二区成人在线视频| 日本一区免费在线观看| 国精品人妻无码一区二区三区喝尿 | 欧美黄色免费看| 日韩一区自拍| 伊人久久五月天| 中文字幕影片免费在线观看| 精品国产亚洲一区二区在线观看| 在线区一区二视频| av黄色在线网站| 92久久精品| 亚洲精品视频免费看| 亚洲精品一品区二品区三品区| 欧美精品少妇| 2020国产精品自拍| 国产一区二区视频在线免费观看| 国产日韩免费视频| 极品少妇一区二区| 国产在线观看一区二区三区| 日韩精选在线观看| 日韩vs国产vs欧美| 国产极品精品在线观看| 午夜婷婷在线观看| 亚洲精品偷拍| 96精品视频在线| 亚洲国产成人精品激情在线| 亚洲日本欧美| 国内自拍欧美激情| 一区二区三区视频免费看| 精品电影一区| 97香蕉超级碰碰久久免费的优势 | 黑人欧美xxxx| 欧美狂野激情性xxxx在线观| 青草影视电视剧免费播放在线观看| 亚洲视频在线一区二区| 樱空桃在线播放| 91香蕉在线观看| 亚洲一区视频在线| 免费看国产曰批40分钟| 草草在线视频| 色噜噜狠狠一区二区三区果冻| 国产免费视频传媒| 国产成人午夜性a一级毛片| 欧美手机在线视频| 99日在线视频| 国产伦精品一区二区三区免费优势| 欧美精品一区二区三区四区| 中文字幕 亚洲一区| 欧美猛男做受videos| 这里只有精品在线观看| 婷婷激情四射网| 欧美日本免费| 欧美最猛性xxxxx免费| 日韩国产亚洲欧美| 国产久卡久卡久卡久卡视频精品| 国产精品伊人日日| 你懂得网站在线| 中文字幕色av一区二区三区| 久久久久久久久久伊人| 毛片电影在线| 欧美日本不卡视频| 男人网站在线观看| 欧美日韩老妇| y97精品国产97久久久久久| 欧美日韩偷拍视频| 久久综合九色综合欧美狠狠| 91精品国产综合久久香蕉的用户体验 | 日本成人看片网址| 国产丝袜在线| 黑丝美女久久久| 三级av免费看| 亚洲小说图片视频| 欧美日韩国产成人高清视频| jizz国产在线观看| 国产精品综合av一区二区国产馆| 久久av一区二区三区亚洲| 日本中文字幕视频在线| 亚洲mv大片欧洲mv大片精品| 一路向西2在线观看| 久久影视三级福利片| 精品久久久av| 黄色片网站在线免费观看| 国产美女视频91| 欧美午夜免费| 第四色日韩影片| 欧美日韩国产首页| 久久精品国产亚洲AV熟女| 欧美成熟视频| 国产精品一香蕉国产线看观看| 日韩在线观看视频网站| 中文字幕色av一区二区三区| av天堂永久资源网| 成人av动漫| 北条麻妃一区二区三区中文字幕| 极品国产91在线网站| 成人性生交大合| 自拍偷拍99| 成人精品电影在线| 亚洲精品福利资源站| 欧美成人一二三区| 激情成人综合网| 色一情一乱一伦一区二区三区| 川上优av中文字幕一区二区| 欧美大片日本大片免费观看| 国产美女网站视频| 日韩精品三区四区| 免费亚洲精品视频| 狼人综合视频| 欧美精品一区二区三| 日韩欧美中文字幕视频| 国产一区二区三区免费播放 | 欧美高清日韩| 亚洲iv一区二区三区| 免费网站看v片在线a| 在线亚洲精品福利网址导航| 在线免费观看麻豆| 国产日韩一区| 欧美 日韩 国产在线| 欧美伦理91| 日韩av一区二区在线| 中文字幕在线观看免费视频| 波多野结衣91| 黄色国产一级视频| 欧美日韩破处| 欧美又大粗又爽又黄大片视频| 天堂在线资源8| 精品久久久在线观看| 久久国产精品无码一级毛片| 国产日产高清欧美一区二区三区| 精品高清视频| 在线观看v片| 亚洲欧美日韩爽爽影院| 中文字幕黄色片| 国产欧美一区二区三区在线老狼 | 亚洲精品无码久久久| 成年人国产在线观看| 欧美色电影在线| 快灬快灬一下爽蜜桃在线观看| 日韩高清国产一区在线| 亚洲激情一区二区三区| 欧美一区二区三区婷婷| 久久夜精品va视频免费观看| av在线亚洲天堂| 亚洲国产wwwccc36天堂| 久久久久久久无码| 老司机精品久久| 亚洲成人a**址| 在线播放成人| 欧美黄色成人网| 熟妇高潮一区二区三区| 色网站国产精品| 国产探花在线视频| 国产jizzjizz一区二区| 91视频最新入口| 日韩1区2区| 91九色蝌蚪国产| 91在线三级| 伊人亚洲福利一区二区三区| 国产男男gay体育生网站| 亚洲综合久久久| 欧洲女同同性吃奶| 国内精品写真在线观看| 免费看又黄又无码的网站| 欧美性感美女一区二区| 91在线中文字幕| 人成在线免费网站| 日韩最新免费不卡| 欧美一区,二区| 欧美色窝79yyyycom| 久久久久久久极品内射| 久久久久久麻豆| 中文字幕在线观看视频www| 久久精品电影| 精品一区二区成人免费视频| 色狠狠久久av综合| 91精品视频免费| 亚洲深夜视频| 久久777国产线看观看精品| 日本1级在线| 日韩欧美不卡一区| 在线播放一级片| 精品女厕一区二区三区| 99国产精品无码| 久久青草国产手机看片福利盒子| 免费黄频在线观看| 日韩精品久久理论片| 欧美亚洲黄色片| 99精品小视频| 欧美一区二区福利| 第一区第二区在线| 成人免费观看a| 电影亚洲精品噜噜在线观看| 欧美高清激情视频| 免费观看成人高潮| 亚洲午夜久久久影院| 四虎精品在永久在线观看| 91精品国产综合久久久久久久| 久久久久女人精品毛片九一| 亚洲高清久久久| 波多野结衣爱爱视频| 国产精品免费观看视频| 尤物视频最新网址| 26uuu久久天堂性欧美| 日本人妻一区二区三区| 国产精品一二三四区| 久久国产精品国产精品| 蜜臀av性久久久久av蜜臀妖精| 国产91美女视频| 亚洲少妇自拍| 99热亚洲精品| 影音先锋中文字幕一区二区| 成人午夜免费在线视频| 欧美日本三区| 日韩欧美猛交xxxxx无码| 99精品网站| 中文字幕中文字幕99| 欧美hd在线| 亚洲精品国产精品国自产| 精品在线播放| 日韩jizzz| 欧美日韩一区二区综合| 欧洲亚洲一区二区三区四区五区| 美日韩中文字幕| 欧美重口乱码一区二区| 免费成人高清在线视频theav| 精选一区二区三区四区五区| 欧美电影免费网站| 久久综合久久久| 中文字幕伦av一区二区邻居| 日本不卡高清视频一区| 国精一区二区| 日韩福利一区二区三区| 精品少妇av| 亚洲女人毛片| 希岛爱理一区二区三区| 国产对白在线播放| 国产精品www.| 久久综合九色综合88i| 男人的天堂成人在线| www欧美激情| 国产一区二区0| 亚洲妇女无套内射精| av一区二区三区在线| 精品无码在线视频| 欧美极品xxx| 欧美黄色aaa| 日韩人体视频一二区| 中文字幕久久网| 日韩欧美一级精品久久| 少妇精品高潮欲妇又嫩中文字幕 | 国产精品成人一区二区三区| 久久婷婷国产| 色爱区成人综合网| 一区二区在线影院| 97国产精东麻豆人妻电影 | 国产精品露脸av在线| 精品成人18| 美女亚洲精品| 99久久综合狠狠综合久久aⅴ| 精品人妻人人做人人爽| 欧美亚洲一区二区三区| 亚洲欧美日韩三级| 成a人片亚洲日本久久| 国产伦精品一区二区三区视频女| 国产精品久久久久aaaa樱花| 久久久久久久伊人| 欧美午夜精品久久久久久孕妇| 国产成人久久精品77777综合| 亚洲精品中文字幕女同| 国产三区在线观看| 国产91|九色| 国模大尺度视频一区二区| 蜜桃av色综合| 中国精品18videos性欧美| 北条麻妃69av| 国产91精品一区二区麻豆亚洲| 精品无码在线观看| 午夜久久久久久久久久一区二区| 中文字幕av网站| 日韩经典中文字幕| 黄色成人影院| 国产精品免费久久久久影院| 超碰成人在线观看| youjizz.com亚洲| 日韩电影免费一区| 亚洲视频在线播放免费| 最近日韩中文字幕| 中文字幕av久久爽| 亚洲精品在线视频| 国产在线天堂www网在线观看| 成人妇女淫片aaaa视频| 美女毛片一区二区三区四区| 一卡二卡三卡视频| 国产在线不卡视频| 亚洲一二三四视频| 欧美色欧美亚洲高清在线视频| 亚洲国产剧情在线观看| xxx成人少妇69| 国产成+人+综合+亚洲欧美| 欧美日韩另类综合| 国产欧美91| 无码成人精品区在线观看| |精品福利一区二区三区| 最近中文字幕在线视频| 亚洲欧美国产精品专区久久 | 欧美激情一区| 天天看片天天操| 中文字幕av在线一区二区三区| 欧美在线观看不卡| 亚洲精品国产综合久久| 国产天堂在线播放视频| dy888夜精品国产专区| 亚洲一区 二区 三区| 男人午夜视频在线观看| 中文字幕一区日韩精品欧美| 中文字幕视频一区二区| 国产亚洲精品久久久优势| 久久91导航| 日韩jizzz| 麻豆国产欧美一区二区三区| 欧美日韩中文字幕视频| 欧美视频中文一区二区三区在线观看 | 韩国成人在线| 日韩av图片| 免费观看成人av| 黑人と日本人の交わりビデオ| 欧美在线免费视屏| 在线国产情侣| 成人精品在线视频| 最新精品国产| 免费看黄色片的网站| 亚洲成a天堂v人片| 色视频在线观看| 国产精品久久久91| 99热在线成人| 99国产精品免费视频| 亚洲国产视频在线| 亚洲日本中文字幕在线| 奇米一区二区三区四区久久| 欧美日韩亚洲在线观看| 国产福利精品一区二区三区| 亚洲精品久久嫩草网站秘色| 蜜臀久久久久久999| 欧美有码在线观看视频| 日韩在线第七页| 4438x全国最大成人| 午夜国产不卡在线观看视频| 精品福利视频导航大全| 国产精品自拍小视频| 午夜激情一区| av鲁丝一区鲁丝二区鲁丝三区| 91黄色免费版| 黄色在线免费网站| 精品在线观看一区二区| 日韩国产精品久久久久久亚洲| jizz18女人高潮| 欧美一级片在线观看| 日韩伦理在线| 中文字幕欧美日韩一区二区| 北岛玲一区二区三区四区 | 日韩欧美一区二区久久婷婷| 国产白浆在线免费观看| 伊人久久大香线蕉精品| 成人黄色a**站在线观看| 日韩国产成人在线| 久色乳综合思思在线视频| 日韩高清一级| 国产大片一区二区三区| 日韩欧美在线视频日韩欧美在线视频 | 国内精品小视频在线观看| 欧美日韩国产高清电影| 久久精品无码专区| 欧美日韩一级片在线观看| 国产夫妻在线|