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

編寫高質(zhì)量的代碼,從命名入手

移動(dòng)開發(fā)
筆者從事開發(fā)多年,有這樣一種感覺,查看一些開源項(xiàng)目,如Spring、Apache Common等源碼是一件賞心悅目的事情,究其原因,無外兩點(diǎn):1)代碼質(zhì)量非常高;2)命名特別規(guī)范(這可能跟老外的英語水平有關(guān))。

[[146621]]

筆者從事開發(fā)多年,有這樣一種感覺,查看一些開源項(xiàng)目,如Spring、Apache Common等源碼是一件賞心悅目的事情,究其原因,無外兩點(diǎn):1)代碼質(zhì)量非常高;2)命名特別規(guī)范(這可能跟老外的英語水平有關(guān))。

要寫高質(zhì)量的代碼,不是一件容易的事,需要長年累月的鍛煉,是一個(gè)量變到質(zhì)變的過程,但要寫好命名,只需要有比較好的英語語法基礎(chǔ)和一種自我意識即可輕松達(dá)到。本博文將會結(jié)合本人的開發(fā)經(jīng)驗(yàn),總結(jié)出若干命名規(guī)則,這些命名規(guī)則純屬個(gè)人的使用習(xí)慣,不代表是一種理想的規(guī)則,在這里列舉出來,供大家交流討論。

1.切忌使用沒有任何意義的英語字母進(jìn)行命名

  1. for(int i=0; i<10; i++) { 
  2.        ... 
  3.    } 

這是在很多教Java基本語法的書上常見的代碼片斷,作為教學(xué)材料,這樣寫無可厚非,但作為真正的代碼編寫,程序員必須要養(yǎng)成良好的習(xí)慣,不要使用這種沒有任何含義的命名方式,這里可以使用“index”。

2.切忌使用拼音,甚至是拼音首字母組合

  1. cishu =5// 循環(huán)的次數(shù) 
  2. zzje = 1000.00 // 轉(zhuǎn)賬金額 

筆者在做代碼檢查的時(shí)候,無數(shù)次遇到過這樣的命名,使人哭笑不得

3.要使用英文,而且要使用準(zhǔn)確的英語,無論是拼寫還是語法

  • 名詞單數(shù),必須使用單數(shù)英文,如Account、Customer。
  • 對于數(shù)組,列表等對象集合的命名,必須使用復(fù)數(shù),而且***按照英文的語法基礎(chǔ)知識使用準(zhǔn)確的復(fù)數(shù)形式,如 List<Account> accounts、Set<Strategy> strategies。
  • 對于boolean值的屬性,很多開發(fā)人員習(xí)慣使用isXXX,如isClose(是否關(guān)閉),但這里有兩點(diǎn)建議:1)***不要帶“is”,因?yàn)镴avaBean的規(guī)范,為屬性生成get/set方法的時(shí)候,會用“get/set/is”,上面的例子,生成get/set方法就會變成“getIsClose/isIsClose/getIsClose”,非常別扭;2)由于boolean值通常反映“是否”,所以準(zhǔn)確的用法,應(yīng)該是是用“形容詞”,上面的例子,最終應(yīng)該被改為 closed,那么get/set方法就是“getClosed/isColsed/setClosed”,非常符合英語閱讀習(xí)慣。

4.方法名的命名,需要使用“動(dòng)賓結(jié)構(gòu)短語”或“是動(dòng)詞+表語結(jié)構(gòu)短語”

筆者曾看到過千奇百怪的方法命名,有些使用名詞,有些甚至是“名詞+動(dòng)詞”,而且,如果賓語是一個(gè)對象集合,還是***使用復(fù)數(shù):

  1. createOrder(Order order) //good 
  2. orderCreate(Order order) //bad 
  3. removeOrders(List<Order> orders) //good 
  4. removeOrder(List<Order> order) //bad 

5.對于常見的“增刪改查”方法,命名***要謹(jǐn)慎:

  • 增加:最常見使用create和add,但***根據(jù)英語的語義進(jìn)行區(qū)分,這有助于理解,create代表創(chuàng)建,add代表增加。比如,要?jiǎng)?chuàng)建一個(gè)Student,用createStudent要比用addStudent好,為什么?想想如果有個(gè)類叫Clazz(班級,避開Java關(guān)鍵字),現(xiàn)在要把一個(gè)Student加入到一個(gè)Clazz,Clazz很容易就定義了一個(gè) addStudent(Student student)的方法,那么就比較容易混淆。
  • 修改:常見的有alter、update、modify,個(gè)人覺得modify最準(zhǔn)確。
  • 查詢:對于獲取單個(gè)對象,可以用get或load,但個(gè)人建議用get,解釋請見第7點(diǎn)的說明,對于不分條件列舉,用list,對于有條件查詢,用search(***不要用find,find在英文了強(qiáng)調(diào)結(jié)果,是“找到”的意思,你提供一個(gè)“查詢”方法,不保證輸入的條件總能“找到”結(jié)果)。
  • 刪除:常見的有delete和remove,但刪除建議用delete,因?yàn)閞emove有“移除”的意思,參考Clazz的例子就可以理解,從班級移除一個(gè)學(xué)生,會用removeStudent。

6.寧愿方法名冗長,也不要使用讓人費(fèi)解的簡寫

筆者曾經(jīng)遇到一個(gè)方法,判斷“支付賬戶是否與收款賬戶相同”,結(jié)果我看到一個(gè)這樣的命名:

  1. checkIsOrderingAccCollAccSame(...) // 很難理解,我馬上把它改為: 
  2. isOrderingAccountSameAsCollectionAccount(...) // 雖然有點(diǎn)長,但非常容易閱讀,而且這種情況總是出現(xiàn)得比較少。 

7.如果你在設(shè)計(jì)業(yè)務(wù)系統(tǒng),***不要使用技術(shù)化的術(shù)語去命名

筆者曾經(jīng)工作的公司曾經(jīng)制訂這樣的命名規(guī)則,接口必須要以“I”開頭,數(shù)據(jù)傳輸對象必須以“DTO”作為后綴,數(shù)據(jù)訪問對象必須以“DAO”作為后綴,領(lǐng)域?qū)ο蟊仨氁?ldquo;DO”作為后綴,我之所以不建議這種做法,是希望設(shè)計(jì)人員從一開始就引導(dǎo)開發(fā)人員,要從“業(yè)務(wù)”出發(fā)考慮問題,而不要從“技術(shù)”出發(fā)。

所以,接口不需要非得以“I”開頭,只要其實(shí)現(xiàn)類以“Impl”結(jié)尾即可(注:筆者認(rèn)為接口是與細(xì)節(jié)無關(guān)的,與技術(shù)無關(guān),但實(shí)現(xiàn)類是實(shí)現(xiàn)相關(guān)的,用技術(shù)化術(shù)語無可口非),而數(shù)據(jù)傳輸對象,其實(shí)無非就是保存一個(gè)對象的信息,因此可以用“**Info”,如CustomerInfo,領(lǐng)域?qū)ο蟊旧砭褪菢I(yè)務(wù)的核心,所以還是以其真實(shí)名稱出現(xiàn),比如Account、Customer,至于“DAO”,這一個(gè)詞來源于J2ee的設(shè)計(jì)模式,筆者在之前的項(xiàng)目使用“***Repository”命名,意味“***的倉庫”,如AccountRepository.

關(guān)于“Repository”這個(gè)詞的命名,是來源于Eric Evans的《Domain-Driven Design》一書的倉庫概念,Eric Evans對Repository的概念定義是:領(lǐng)域?qū)ο蟮母拍钚约希瑐€(gè)人認(rèn)為這個(gè)命名非常的貼切,它讓程序員完全從技術(shù)的思維中擺脫出來,站在業(yè)務(wù)的角度思考問題。說到這里,可能有人會反駁:像Spring、Hibernate這些優(yōu)秀的框架,不是都在用“I”作為接口開頭,用“DAO”來命名數(shù)據(jù)訪問對象嗎?沒錯(cuò)!但千萬別忽略了語義的上下文,Spring、Hibernate框架都是純技術(shù)框架,我這里所說的場景是設(shè)計(jì)業(yè)務(wù)系統(tǒng)。

8.成員變量不要重復(fù)類的名稱

例如,很多人喜歡在Account對象的成員變量中使用accountId,accountNumber等命名,其實(shí)沒有必要,想想成員變量不會鼓孤立的存在,你引用accountId,必須是account.accountId,用account.id已經(jīng)足夠清晰了。

“勿以善小而不為,勿以惡小而為之”、“細(xì)節(jié)決定成敗”,有太多的名言告訴我們,要注重細(xì)節(jié)。一個(gè)優(yōu)秀的程序員,必須要有堅(jiān)實(shí)的基礎(chǔ),而對于命名規(guī)則這樣容易掌握的基礎(chǔ),我們何不現(xiàn)行?

責(zé)任編輯:倪明 來源: Johnny's Collections
相關(guān)推薦

2015-08-25 08:29:11

編寫高質(zhì)量命名

2011-03-04 10:11:09

JavascriptAPI

2011-12-29 15:02:27

JavaScript

2017-07-14 09:54:47

代碼函數(shù)程序

2012-09-13 10:44:18

Python代碼

2015-07-13 10:48:44

OC代碼程序員

2023-10-31 16:22:31

代碼質(zhì)量軟件開發(fā)Java

2010-03-01 14:31:04

Java

2024-03-07 11:39:24

HadolintDockerfile工具

2011-04-01 09:13:19

VB程序員

2022-10-24 08:10:21

SQL代碼業(yè)務(wù)

2020-09-18 07:57:10

代碼編碼開發(fā)

2015-08-03 10:40:59

程序員代碼質(zhì)量Quora

2022-06-13 23:30:27

代碼詞匯高質(zhì)量

2020-02-14 09:39:40

箭頭函數(shù)語法運(yùn)算符

2021-01-04 08:04:51

JS 變量JavaScript

2020-02-14 14:35:01

編程語言PythonJava

2011-04-07 09:18:59

MySQL語法

2013-12-03 09:34:26

iOS應(yīng)用開發(fā)實(shí)踐高質(zhì)量Objectiv

2020-09-27 09:41:04

代碼開發(fā)注釋
點(diǎn)贊
收藏

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

欧美三级三级三级| 看电视剧不卡顿的网站| 亚洲电影免费观看高清| 日本熟妇人妻xxxxx| 黄色在线免费| 99精品国产视频| 国产一区二区丝袜高跟鞋图片| 午夜免费激情视频| 日韩极品少妇| 欧美二区三区91| 久久网站免费视频| gogo在线高清视频| 久久亚洲春色中文字幕久久久| 成人两性免费视频| 影音先锋在线国产| 欧美日韩三区| 色偷偷噜噜噜亚洲男人| 日韩高清一二三区| 国产精品麻豆成人av电影艾秋| 亚洲二区在线观看| 中文字幕欧美日韩一区二区三区| 亚洲av片在线观看| 国产精品一区免费视频| 国产精品美女呻吟| 久久久久久久久久久久久久av| 99re6这里只有精品| 日韩精品极品毛片系列视频| 91精产国品一二三| 77thz桃花论族在线观看| 亚洲欧洲av另类| 日韩欧美一区二区视频在线播放 | 久久国产日韩| 久久久久久国产精品美女| 欧美黄色激情视频| 日韩超碰人人爽人人做人人添| 欧美一区二区三区爱爱| 超碰在线人人爱| 日本免费一区二区三区四区| 午夜精品影院在线观看| 久久男人资源站| av在线导航| 专区另类欧美日韩| 日本黄色a视频| 在线视频91p| 中文字幕不卡在线播放| 免费国产一区二区| 色综合成人av| 91在线观看视频| 国产一区二区在线观看免费播放| 性生活免费网站| 国产精品66部| 不卡视频一区二区三区| 国产成人精品a视频| 激情欧美一区二区| 成人黄色在线免费| 国产一区二区三区中文字幕| 美女网站在线免费欧美精品| 国产精品电影一区| 波多野结衣家庭主妇| 玖玖视频精品| 国产精品国产福利国产秒拍 | 2019男人天堂| 成人在线免费小视频| 夜夜躁日日躁狠狠久久88av| 日本污视频网站| 国产精品x453.com| 欧美成人在线网站| 久久久久久欧美精品se一二三四| 国产精品v一区二区三区| 欧美激情中文网| 国产午夜在线播放| 日日摸夜夜添夜夜添亚洲女人| 日本精品一区二区三区在线| 国产成人精品一区二区色戒| 另类专区欧美蜜桃臀第一页| 亚洲精品日产aⅴ| 国 产 黄 色 大 片| 92精品国产成人观看免费| 免费久久99精品国产自| 永久免费av在线| 亚洲精品国产第一综合99久久 | 免费欧美在线视频| 91久久夜色精品国产网站| 国产成a人亚洲精v品无码| 不卡的av中国片| 欧美性色黄大片人与善| 色综合久久影院| 一区二区欧美在线观看| 欧美三级一级片| jizzjizz少妇亚洲水多| 日韩一区二区视频| 国产精品边吃奶边做爽| 日韩免费视频| 久久久久久999| 波多野结衣视频在线观看| 激情久久久久久久久久久久久久久久| 亚洲永久在线观看| 五月天福利视频| 中文字幕亚洲成人| 少妇高潮喷水在线观看| 国产精品久久久久久吹潮| 欧美va在线播放| 国产精品情侣呻吟对白视频| 欧美色图首页| 国产精品久久久久久久久久新婚| 精品免费久久久| 久久精品一区八戒影视| 日韩激情视频一区二区| 国产成人精品123区免费视频| 日韩限制级电影在线观看| 偷拍夫妻性生活| 激情久久久久| 91精品国产综合久久久久久蜜臀| 天天射天天操天天干| 亚洲青青青在线视频| 午夜精品久久久内射近拍高清 | 日韩精品久久久久久| 国产高清精品一区| 麻豆传媒视频在线| 在线观看三级视频欧美| 欧美一级片黄色| 性欧美欧美巨大69| 国产精品美乳在线观看| 天堂v视频永久在线播放| 亚洲激情在线播放| 亚洲xxx在线观看| 视频一区中文| 91精品国产高清| 亚洲av无码片一区二区三区| 国产精品久久久久9999吃药| 日韩欧美精品在线观看视频| 91欧美极品| 久久中文字幕视频| 这里只有久久精品视频| 91麻豆swag| 国产精品12345| 国产厕拍一区| 色综合视频网站| 国产伦精品一区二区三区四区| 国产欧美日韩激情| 自拍偷拍 国产| 欧美激情在线精品一区二区三区| 777777777亚洲妇女| 蜜臀av在线观看| 亚洲国产日韩一区二区| 日本中文字幕精品| 欧美jjzz| 97人人香蕉| 男女在线观看视频| 精品国产1区二区| 国产精品 欧美激情| 久久成人久久爱| 亚洲高清不卡一区| 国产一区二区三区四区五区3d| 一本一道久久a久久精品逆3p | 中文字幕亚洲欧美日韩| 国产在线麻豆精品观看| 麻豆视频传媒入口| 91精品丝袜国产高跟在线| 国产精品免费av| 久久精品国产在热久久| 91精品福利在线一区二区三区 | 成人免费高清视频在线观看| 日韩国产成人无码av毛片| 91免费精品国偷自产在线在线| 欧美精品久久久久久久| 亚洲伦理在线观看| 午夜精品久久久久| 久久精品国产亚洲av久| 日韩精品福利网| 亚洲精品乱码久久久久久蜜桃91 | 97人澡人人添人人爽欧美| 精品国产露脸精彩对白| 亚洲男人第一av| 国产欧美日韩另类视频免费观看| 国产成人在线综合| 欧美色图首页| 欧美日韩电影一区二区三区| 在线观看精品| 久久久av免费| 日韩在线视频免费| 日本韩国一区二区| 午夜精品福利在线视频| 成人国产一区二区三区精品| 欧美成人精品欧美一级乱| 久久视频精品| 国产精品久久波多野结衣| 日韩成人动漫| 欧美精品在线播放| 噜噜噜在线观看播放视频| 欧美无乱码久久久免费午夜一区| 午夜精品福利在线视频| 久久久综合九色合综国产精品| 亚洲欧美视频二区| 一本一本久久| 日韩第一页在线观看| 欧美亚洲大陆| 亚洲自拍偷拍第一页| 另类激情视频| 欧美日韩999| 国产精品一二三区视频| 精品国产一区二区亚洲人成毛片| 亚洲黄网在线观看| 一区二区免费在线播放| 天天躁日日躁aaaa视频| 福利一区在线观看| 男人女人黄一级| 日韩视频二区| 亚洲小说欧美另类激情| 伊人久久大香线蕉无限次| 亚洲在线一区二区| h1515四虎成人| 91av国产在线| www在线看| 欧美成人精品三级在线观看| 久久久久久久久亚洲精品| 精品国产一二三区| 国产福利视频导航| 欧美日韩成人综合| 中文字幕手机在线视频| 五月婷婷综合激情| 青青草手机视频在线观看| 中文一区二区完整视频在线观看| 国产精品久久AV无码| 国产成人一区二区精品非洲| 最新天堂中文在线| 天堂久久久久va久久久久| 久久久久久久中文| 黑丝一区二区三区| 50度灰在线观看| 国产精品99一区二区三| 亚洲精品欧洲精品| 精品国产aⅴ| 欧美激情专区| 蜜桃一区二区三区| 久久久久网址| 丝袜美腿综合| 久久久亚洲综合网站| 久久人人爽人人爽人人片av不| 99久久伊人精品影院| 日本精品国产| 亚洲xxx自由成熟| 欧美视频精品全部免费观看| 91九色国产社区在线观看| 玖玖精品在线| 国产精品自产拍在线观| 久久亚洲国产精品尤物| 国产欧美精品在线| 亚州精品国产| 91久热免费在线视频| 成人在线视频国产| 亚洲一区亚洲二区| 亚洲一区二区免费在线观看| 不卡一区二区三区四区五区| 1769国产精品视频| 国模一区二区三区私拍视频| 老汉色老汉首页av亚洲| 久久久久一区二区三区| 欧美日韩性在线观看| 天堂精品视频| 婷婷亚洲综合| 国产 欧美 日本| 亚洲国产免费| 亚洲熟女乱色一区二区三区| 日日摸夜夜添夜夜添国产精品| 欧美精品第三页| 蜜桃一区二区三区在线| www.桃色.com| 成人免费毛片aaaaa**| 亚洲国产精品成人综合久久久| 久久综合色之久久综合| 人与嘼交av免费| 亚洲激情欧美激情| 国产欧美日韩另类| 91久久免费观看| 国产精品高潮呻吟av| 日韩精品一区二区在线| 你懂的好爽在线观看| 日韩视频免费大全中文字幕| 影院在线观看全集免费观看| 97在线精品视频| 成人一级视频| 99中文视频在线| 深爱激情综合| 性生活免费观看视频| 一本色道久久综合亚洲精品不卡 | 亚洲视频一区二区三区| 日本福利在线| 97色在线视频| 四虎影视成人精品国库在线观看 | 亚洲精品国产一区二区精华液 | 怡红院在线观看| 欧美综合一区第一页| 97久久中文字幕| 久久亚洲高清| 欧美日韩网站| 不卡av免费在线| 成人丝袜高跟foot| 精品熟妇无码av免费久久| 一区二区三区成人在线视频| 夜夜爽妓女8888视频免费观看| 欧美一区二区久久| 国产香蕉视频在线看| 欧美老女人xx| 国产韩日精品| 国产美女在线精品免费观看| 999视频精品| 亚洲熟妇av一区二区三区| 成人自拍视频在线| 99热在线观看精品| 一本久道久久综合中文字幕| 精品人妻一区二区三区麻豆91| 亚洲一区二区黄| 极品在线视频| 7777奇米亚洲综合久久| 色婷婷一区二区三区| 97成人在线观看视频| 高清不卡一二三区| 国产精品久久久精品四季影院| 欧美综合在线视频| 三级av在线| 69久久夜色精品国产69乱青草| 日本精品在线播放| 亚洲成人动漫在线| 日本欧美在线看| 亚洲av无码一区二区三区人| 亚洲大片精品永久免费| 精品人妻少妇嫩草av无码专区| 深夜福利日韩在线看| 日韩三区在线| 日本福利一区二区三区| 中文一区在线| 黄色免费看视频| 亚洲在线观看免费视频| 国产sm主人调教女m视频| 色青青草原桃花久久综合 | 在线视频亚洲| 日本少妇xxxx软件| 一区二区三区在线免费| 国产伦精品一区二区三区视频痴汉| 俺去亚洲欧洲欧美日韩| jizz欧美| 伊人久久av导航| 青青草国产成人99久久| 欧美人与禽zoz0善交| 欧美在线一二三四区| 国产精品一级伦理| 国产精品入口免费视| 久久国产中文字幕| 国产原创精品在线| 亚洲三级小视频| 精品人妻无码一区二区色欲产成人 | 成人xvideos免费视频| 外国成人免费视频| 污污视频网站在线| 亚洲老妇xxxxxx| 亚洲精品国产suv一区| 欧美高清videos高潮hd| 成人资源在线| 成熟了的熟妇毛茸茸| 久久精品人人做人人爽97| 国内av在线播放| 日韩在线观看视频免费| 国产精品一区二区三区www| 日本一二三区视频在线| 丁香网亚洲国际| 久久久久久久久久久久久av| 亚洲人在线视频| 91成人短视频在线观看| www.一区二区.com| 26uuu另类欧美亚洲曰本| 波多野结衣黄色| 久久天天躁日日躁| 粉嫩久久久久久久极品| 人妻有码中文字幕| 国产精品国产精品国产专区不片| 99热这里只有精| 96精品视频在线| 成人免费在线播放| 色男人天堂av| 福利精品视频在线| 欧美黑人激情| 国产专区一区二区| 美腿丝袜亚洲综合| 久久这里只有精品免费| 亚洲香蕉伊综合在人在线视看| 97色婷婷成人综合在线观看| 精品无码国产一区二区三区av| 久久久噜噜噜久久人人看| 一区二区三区免费在线| 性欧美亚洲xxxx乳在线观看| 国产欧美日韩一区二区三区四区| 日本精品一区在线| 精品久久中文字幕久久av| 在线观看免费黄视频| 国产精品免费一区二区三区| 蜜芽一区二区三区| 国产精品自拍视频一区| 日韩在线精品视频| 农村少妇一区二区三区四区五区|