摘要:所有命名不能以特殊符號(hào)開始,如常量用全大寫定義,單詞之間用下劃線分割語義,如包規(guī)范包名全小寫,不能用特殊符號(hào)或者駝峰寫法如是不合規(guī)范的。方法定義必須要有注釋,包括方法作用參數(shù)名返回類型創(chuàng)建時(shí)間等層方法命名規(guī)約獲取單個(gè)對(duì)象的方法用做前綴。
本文旨在用最通俗的語言講述最枯燥的基本知識(shí)
===================1===================
到一家創(chuàng)業(yè)公司上班的第一天,老員工劉XX給我看了公司他負(fù)責(zé)的項(xiàng)目,奇怪的是,命名是“LiuQXProject”,劉XX看著驚愕的我說:“怎么了?有什么錯(cuò)嗎?”
===================2===================
給同事做雙十一活動(dòng)相關(guān)代碼的review,學(xué)到到了很多中英混血單詞
,獲取雙十一拼團(tuán)活動(dòng)數(shù)據(jù)的接口叫做“get_ShuangShiYi_GroupTuan_activity_data”,特等獎(jiǎng)的命名:TeDeng_price....更氣人的是,我們活動(dòng)獎(jiǎng)等有十級(jí),他就虔誠地繼續(xù)OneDeng_price、TwoDeng_price
直到JiuDeng_price。。。噢,no??!好氣?。。《宜€把”獎(jiǎng)“的單詞prize寫成了price,怎么說呢?好難受..
===================3===================
公司來了個(gè)剛畢業(yè)的小伙子,自詡前端未來之星,喜歡研讀源碼,對(duì)開源充滿熱愛,一個(gè)月后,無意間打開他寫的一個(gè)js文件,讓我驚訝的是:變量從a到z全部用完,更氣人的是,26個(gè)字母用完之后,他竟然喪心病狂的用起來了雙拼,var aa=1,var ab=“12”,var ac=null...我問他為什么這樣命名,他說你沒研讀jQuery源碼嗎?人家就是這樣做的,簡潔大氣上檔次!
===================4===================
因?yàn)槲⑿抨欠Q經(jīng)常有帶有一些亂七八糟的表情或者字符,在正常情況下utf-8編碼的數(shù)據(jù)庫是存不進(jìn)去的,因此讓同事幫忙寫個(gè)把微信昵稱轉(zhuǎn)換成正常的字符串的一個(gè)工具函數(shù),最終我拿到了這個(gè)工具函數(shù),名字叫做:convertingWechatNicknameintoNormalCharacters(String nickName)
===================5===================
實(shí)習(xí)小伙子來的頭一天就搞的滿身大汗,我說怎么了,他說我明明寫了main方法,為什么運(yùn)行不了,我一看代碼,我噻~main寫成了mian,怎么可能跑得起來??!更殘暴的是:蘋果手機(jī)是apple_sj,Android手機(jī)是android_sj,哈哈~
以上的種種讓人哭笑不得的命名問題..相信很多小伙伴也會(huì)碰過這樣,有些是因?yàn)榻?jīng)驗(yàn)不足,有些是因?yàn)橐恢睕]有對(duì)自己寫的代碼做一些規(guī)范化的工作,有的是因?yàn)楸焕享?xiàng)目、前輩帶出來的壞習(xí)慣...這些都是編程世界里非常不好的行為,拒不完全統(tǒng)計(jì):在一個(gè)項(xiàng)目中,程序員80%的時(shí)間都是在和變量、函數(shù)、方法打交道,因此一個(gè)好的命名習(xí)慣,比注釋或一份詳細(xì)的開發(fā)文檔都重要。針對(duì)于此,小編特意根據(jù)行業(yè)標(biāo)準(zhǔn)---阿里開發(fā)文檔,做了一些參考和摘抄,整理出一份關(guān)于命名方面的規(guī)范,給需要的你作參考。
爭取多寫漂亮代碼,少寫注釋?。?!
1. 整體規(guī)范文章提綱:
整體規(guī)范
包規(guī)范
類規(guī)范
方法規(guī)范
OOP的一些強(qiáng)制規(guī)范
2. 包規(guī)范所有的命名必須以英文意譯,不能以中文拼音意譯,如:獲取我的消息接口,可以寫:myMessage;但不能寫:myXiaoXi
盡量用精簡的英文命名,但要完整表達(dá)其意義,杜絕int a ,int a1 int aa這種毫無意義的簡化寫法。
所有命名不能以特殊符號(hào)開始,如:_age,_username
常量用全大寫定義,單詞之間用下劃線分割語義,如:public final int REDIS_MAX_IDLE=5;
3. 類規(guī)范包名全小寫,不能用特殊符號(hào)或者駝峰寫法如:com.courseLog.uitl_con是不合規(guī)范的。
包名要符合包的作用,比如數(shù)據(jù)層要寫dao,工具包要寫util等
4. 方法規(guī)范類名風(fēng)格為大寫開頭的駝峰命名方式,如:ApiController、TestController等
異常類命名使用Exception結(jié)尾,如:CustomerException
抽象類命名使用Abstract開頭,如:AbstractCustomer
測試類命名以它要測試的類的名稱開始,以 Test 結(jié)尾,如:CustomerControllerTest
枚舉類命名要以Enum結(jié)尾,如果CustomerRoleEnum
其它類型的類命名,在描述類作用的同時(shí),也盡可能表達(dá)出類所用的一些設(shè)計(jì)模式
5. OOP的一些強(qiáng)制規(guī)范方法名使用駝峰寫法,以小寫字母開頭,如:getUserCourse();
方法內(nèi)的參數(shù)名、成員變量、局部變量均使用駝峰寫法,以小寫字母開頭,如:int userName;
接口類的方法和屬性不要加上任何修飾符,保證代碼的簡介。
方法定義必須要有注釋,包括(方法作用、參數(shù)名、返回類型、創(chuàng)建時(shí)間等)
Service/DAO層方法命名規(guī)約:
1) 獲取單個(gè)對(duì)象的方法用get做前綴。
2) 獲取多個(gè)對(duì)象的方法用list做前綴。
3) 獲取統(tǒng)計(jì)值的方法用count做前綴。
4) 插入的方法用save/insert做前綴。
5) 刪除的方法用remove/delete做前綴。
6) 修改的方法用update做前綴。
盡量避免使用可變參數(shù)編程,相同參數(shù)類型,相同業(yè)務(wù)含義,才可以使用 Java 的可變參數(shù),避免使用 Object
接口過時(shí)必須加@Deprecated 注解
不能使用過時(shí)的類或方法
所有的相同類型的包裝類對(duì)象之間值的比較,全部使用 equals 方法比較
類內(nèi)方法定義順序依次是:公有方法或保護(hù)方法 > 私有方法 > getter/setter 方法。
覺得本文對(duì)你有幫助?請(qǐng)分享給更多人
關(guān)注「編程無界」,提升裝逼技能
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/72581.html
摘要:用來主要前臺(tái)的請(qǐng)求,并處理返回相關(guān)的數(shù)據(jù),做后臺(tái)服務(wù)??偨Y(jié)做完這個(gè)項(xiàng)目,其中的過程還是挺艱辛的,畢竟都是邊學(xué)邊做,不過最后能完成還是挺開心的,終于有了一個(gè)從到的項(xiàng)目過程。雖然只是一個(gè)小小的練手項(xiàng)目,不過對(duì)于目前的我,感覺還是不錯(cuò)的。 showImg(https://oc1gyfe6q.qnssl.com/17-3-30/43434844-file_1490879850754_14751...
閱讀 3668·2021-09-02 15:11
閱讀 4602·2021-08-16 10:47
閱讀 1568·2019-08-29 18:35
閱讀 3044·2019-08-28 17:54
閱讀 2853·2019-08-26 11:37
閱讀 1509·2019-08-23 16:51
閱讀 1813·2019-08-23 14:36
閱讀 1811·2019-08-23 14:21