精品欧美一区二区三区在线观看 _久久久久国色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ù)棧公眾號

宅男网站在线免费观看| 欧美国产在线看| 日韩制服诱惑| 一区二区视频在线| 精品毛片久久久久久| 中文字幕+乱码+中文| 91精品精品| 日韩经典中文字幕在线观看| 日韩视频在线免费看| 日韩黄色影院| 99精品欧美一区二区蜜桃免费| 国产精品igao视频| 亚洲国产成人精品综合99| 一呦二呦三呦国产精品| 日韩一区二区三区三四区视频在线观看 | 日韩欧美视频免费在线观看| 婷婷久久久久久| 国产在线精品一区二区不卡了 | 国产精品一区二区6| 希岛爱理av一区二区三区| 国产视频亚洲视频| 无码国产精品久久一区免费| 范冰冰一级做a爰片久久毛片| 亚洲欧美激情在线| 日韩欧美一区二区三区四区五区| 亚洲精品久久久蜜桃动漫| 免费欧美在线视频| 国产成人高潮免费观看精品| 精品99在线观看| 欧美超碰在线| 日日骚久久av| 美女久久久久久久久久| 久久久伦理片| 精品国产制服丝袜高跟| www.久久久久久久久久久| 国产成人精品一区二三区在线观看 | 熟妇熟女乱妇乱女网站| 成人一区二区不卡免费| 99久久精品免费精品国产| av成人综合网| 亚洲av无码一区二区三区dv| 激情六月婷婷综合| 国产精品自在线| www.av88| 麻豆成人综合网| 国产精品欧美一区二区| 亚洲精品91天天久久人人| 中日韩男男gay无套| 久久久久久久久亚洲| 欧美日韩一级在线观看| 久久国产影院| 久久精品成人欧美大片| 黄色片网站在线播放| 四季av一区二区三区免费观看| 一区二区三区国产在线观看| 性欧美精品男男| 色综合色综合| 久久av资源网站| 欧美黄色免费看| 91久久黄色| 57pao成人国产永久免费| 天天干天天干天天操| 性8sex亚洲区入口| 国产精品户外野外| 一区二区视频网站| 国产麻豆视频精品| 不卡视频一区二区| 理论片中文字幕| 91日韩精品一区| 日韩在线电影一区| 国产素人视频在线观看| 夜夜嗨av一区二区三区四季av| 少妇一晚三次一区二区三区| 国产美女高潮在线观看| 亚洲国产你懂的| 丁香啪啪综合成人亚洲| 国产亚洲人成a在线v网站| 欧美一区二区三区在| 成年人小视频在线观看| 色老板在线视频一区二区| 亚洲色图色老头| 在线免费看av网站| 国产精品资源| 国产在线视频一区| 免费观看a视频| 国产日本欧美一区二区| 日韩第一页在线观看| wwwww亚洲| 欧美图区在线视频| 农村末发育av片一区二区| 亚洲第一论坛sis| 久久久精品国产亚洲| 国产精品黄色网| 精品一区精品二区高清| 精品国产二区在线| 老司机在线看片网av| 天天av天天翘天天综合网色鬼国产| 搡女人真爽免费午夜网站| 欧美影院在线| 在线a欧美视频| 国产午夜福利精品| 久久99精品久久久久婷婷| 精品国产乱码久久久久软件| 黄a在线观看| 一本大道久久a久久精品综合| 在线免费观看av网| 国产欧美日韩一区二区三区四区| 欧美精品一区在线播放| 成人小视频在线播放| 国产99久久久国产精品潘金| 一区二区三区四区国产| 欧美aa在线观看| 日韩欧美亚洲国产另类| av免费播放网站| 亚洲大片在线| 亚洲最大福利视频| 色欧美激情视频在线| 色老综合老女人久久久| 黄色在线免费播放| 欧美freesex交免费视频| 国产精品视频免费在线观看| 天堂av电影在线观看| 亚洲尤物在线视频观看| www.桃色.com| 欧美freesextv| 国产精品久久久久久久av大片| 凸凹人妻人人澡人人添| 亚洲国产人成综合网站| 一二三区视频在线观看| 午夜精品久久99蜜桃的功能介绍| 国产精品天天狠天天看| 国产精品久久一区二区三区不卡| 五月天欧美精品| 亚洲一级Av无码毛片久久精品| 99tv成人| 成人免费黄色网| 黄视频在线观看网站| 欧美日韩精品一区视频| 欧美乱大交做爰xxxⅹ小说| 蜜臀av国产精品久久久久| 欧美色图亚洲自拍| 欧美色999| 亚洲天堂男人天堂女人天堂| 欧美国产成人精品一区二区三区| 99久久精品免费看国产免费软件| 久操手机在线视频| www.神马久久| 久久久久久综合网天天| 欧美熟妇另类久久久久久不卡 | 久久精品无码中文字幕| 视频一区中文字幕精品| 欧美国产日韩免费| 亚洲精品视频网| 亚洲v日本v欧美v久久精品| 中文字幕天堂av| 一区二区日韩免费看| 九色综合日本| 午夜精品成人av| 一区国产精品视频| 欧美男人天堂网| 国产精品情趣视频| 国产精品自在自线| 亚洲欧美亚洲| 精品欧美一区二区久久久伦| 免费v片在线观看| 在线观看日韩www视频免费| 久草国产在线视频| 91社区在线播放| 美女网站视频黄色| 欧美激情性爽国产精品17p| 国产在线播放一区二区| 国产精品久久久久av电视剧| 中文字幕亚洲第一| 精品国自产在线观看| 亚洲6080在线| 亚洲ⅴ国产v天堂a无码二区| 国产做a爰片久久毛片| 国产一级做a爰片久久毛片男| 偷拍亚洲色图| 91精品视频网站| a'aaa级片在线观看| 亚洲欧洲午夜一线一品| 国产精品高潮呻吟AV无码| 亚洲国产sm捆绑调教视频| 国产精品jizz| 韩国成人福利片在线播放| 欧美一级免费播放| 第一会所sis001亚洲| y111111国产精品久久婷婷| 欧美亚洲韩国| 欧美超级免费视 在线| 视频国产在线观看| 欧美一级午夜免费电影| 天天干在线播放| 综合激情成人伊人| 白丝女仆被免费网站| 国产在线精品一区二区不卡了 | av激情成人网| 久久免费精品视频| 免费黄网站在线播放| 亚洲精品成人网| 国产成人精品亚洲精品色欲| 色www精品视频在线观看| 黑鬼狂亚洲人videos| 国产日韩欧美亚洲| 中国xxxx性xxxx产国| 久久se这里有精品| 91看片就是不一样| 亚洲高清自拍| 久久99国产精品一区| 国产一区二区三区电影在线观看 | 午夜小视频免费| 欧美一区二区三区小说| 国产99免费视频| 天天综合天天综合色| 波多野结衣不卡视频| 国产精品丝袜久久久久久app| 成人性生活免费看| 国产精品99久久久久久久vr| 天天插天天操天天射| 国产欧美69| 欧美乱做爰xxxⅹ久久久| 精品免费在线| 欧美日韩高清免费| 欧洲亚洲视频| 精品国产综合久久| 精品三级av| 国产精品视频福利| 亚洲网一区二区三区| 亚洲尤物视频网| 国产精品色婷婷在线观看| 国产精品你懂得| 精品视频一区二区三区四区五区| 2020国产精品视频| 国产免费拔擦拔擦8x在线播放 | 91精品91久久久中77777老牛| 亚洲小说欧美另类婷婷| 中文字幕色呦呦| 伊人青青综合网| 亚洲一区 在线播放| 91精品高清| 亚洲小视频在线播放| 99久久激情| 日本天堂免费a| 黄色亚洲精品| www.99热这里只有精品| 亚洲三级免费| 久久美女福利视频| 亚洲综合国产激情另类一区| 欧美精品色婷婷五月综合| 久久久久久久尹人综合网亚洲| 91av在线免费播放| 蜜桃久久久久久| 两女双腿交缠激烈磨豆腐 | 色噜噜日韩精品欧美一区二区| 91原创在线视频| 免费观看av网站| 国产精品入口麻豆原神| 亚洲一级二级片| 亚洲免费观看在线视频| 国产亚洲成人精品| 欧美日韩在线影院| 国产成人a v| 欧美久久久久久久久| www.com欧美| 亚洲国内精品在线| 国自产拍在线网站网址视频| 自拍偷拍免费精品| 中文国产字幕在线观看| 午夜精品福利视频| 免费在线观看一区| 91超碰在线电影| 青青操综合网| 中文字幕在线中文字幕日亚韩一区| 综合久久一区| 国产美女网站在线观看| 蜜桃久久久久久| 影音先锋资源av| 久久综合九色综合97婷婷女人 | www免费在线观看| 国内久久久精品| 久久69成人| 国产精品午夜av在线| 国产一区2区| 欧美中文字幕在线观看视频| 美女精品在线观看| 亚洲天堂网站在线| 久久久久久久久久久99999| 日韩欧美在线视频播放| 午夜久久久久久| 91亚洲欧美激情| 国产婷婷成人久久av免费高清| 9i精品一二三区| 欧美高跟鞋交xxxxhd| 日本欧美韩国| 久久99精品久久久久久青青日本| 清纯唯美亚洲综合一区| 国产精品无码人妻一区二区在线| 久久精品国产亚洲高清剧情介绍| 亚洲啪av永久无码精品放毛片 | 96视频在线观看欧美| 久久国产精品高清| 中文在线播放一区二区 | 国产亚洲欧美日韩精品一区二区三区 | 国产无套粉嫩白浆在线2022年| 精品中文字幕乱| 九七影院97影院理论片久久| 欧美污视频久久久| 一区在线播放| 中文字幕第10页| 国产精品国产三级国产普通话三级| 日韩欧美一级视频| 日韩片之四级片| 国产原创视频在线观看| 国产成人免费91av在线| 婷婷精品在线| 国精产品一区一区三区视频| 国产高清一区日本| 午夜激情视频在线播放| 在线看一区二区| 免费在线一级视频| 国产91精品视频在线观看| 凹凸av导航大全精品| 中文字幕の友人北条麻妃| 精品一区二区日韩| www.黄色com| 欧美日韩国产成人在线免费| 精品乱码一区二区三四区视频 | 国产精品男女视频| 亚洲成人精品视频| 国产美女一区视频| 国产美女精品久久久| 欧美日韩日本国产亚洲在线| 亚洲高清av一区二区三区| 亚洲欧美另类久久久精品| 国产精品伦理一区| www.亚洲男人天堂| 最新亚洲国产| 久久久99精品视频| 国产精品自拍网站| 欧美精品一区二区蜜桃| 欧美一区二区三级| av电影免费在线观看| 亚洲www视频| 国产一区日韩欧美| 日韩精品视频一区二区| 午夜成人免费视频| 十九岁完整版在线观看好看云免费| 欧美一级成年大片在线观看| 亚洲aa在线| 尤蜜粉嫩av国产一区二区三区| 国产女主播视频一区二区| 中国一级特黄视频| 日韩综合视频在线观看| 看亚洲a级一级毛片| 日韩精品久久一区二区| jvid福利写真一区二区三区| 永久免费无码av网站在线观看| 亚洲欧美日韩国产中文| 成人黄页网站视频| 一级黄色片播放| jizz一区二区| 无码人妻精品一区二区蜜桃色欲| 中文字幕日韩在线观看| 欧美成人精品午夜一区二区| 久久香蕉视频网站| av不卡免费电影| 成人免费一区二区三区| 久久精品青青大伊人av| 亚洲日本视频在线| 国产a视频免费观看| 国产精品久久久久久久久晋中 | 懂色av一区二区三区蜜臀| 国产精品100| xxx欧美精品| 九九热hot精品视频在线播放| 麻豆av免费在线| 亚洲人吸女人奶水| 性xxxx视频播放免费| 国产精品无av码在线观看| 国产精品大片| 先锋影音av在线| 日韩一区二区三区视频在线观看| 小视频免费在线观看| 中文字幕在线中文字幕日亚韩一区| 国产福利一区二区三区| 4438国产精品一区二区| 久久久999精品| 夜夜春成人影院| 无码人妻少妇色欲av一区二区| 色综合久久中文字幕综合网| yellow91字幕网在线| 欧美精品在线一区| 国产成人综合亚洲91猫咪| 免费一级a毛片| 午夜免费在线观看精品视频| 日韩精品首页| 无码h肉动漫在线观看| 日韩欧美成人一区| 欧美一级免费|