<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          那些崩潰又可笑的代碼命名...

          共 2522字,需瀏覽 6分鐘

           ·

          2020-08-14 11:50

          本文旨在用通俗的語言講述枯燥的知識


          1

          到一家創(chuàng)業(yè)公司上班的第一天,老員工劉XX給我看了公司他負(fù)責(zé)的項(xiàng)目,奇怪的是,命名是“LiuQXProject”,劉XX看著驚愕的我說:“怎么了?有什么錯嗎?”

          2

          給同事做雙十一活動相關(guān)代碼的review,學(xué)到到了很多中英混血單詞,獲取雙十一拼團(tuán)活動數(shù)據(jù)的接口叫做“get_ShuangShiYi_GroupTuan_activity_data”,特等獎的命名:TeDeng_price….更氣人的是,我們活動獎等有十級,他就虔誠地繼續(xù)OneDeng_price直到JiuDeng_price。。。

          噢,no??!好氣?。。《宜€把”獎“的單詞prize寫成了price,

          怎么說呢?好難受..

          3

          公司來了個(gè)剛畢業(yè)的小伙子,自詡前端未來之星,喜歡研讀源碼,對開源充滿熱愛,一個(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,怎么可能跑得起來?。「鼩埍┑氖牵?/p>

          蘋果手機(jī)是apple_sj,Android手機(jī)是android_sj,哈哈~

          以上的種種讓人哭笑不得的命名問題..相信很多小伙伴也會碰過這樣,有些是因?yàn)榻?jīng)驗(yàn)不足,有些是因?yàn)橐恢睕]有對自己寫的代碼做一些規(guī)范化的工作,有的是因?yàn)楸焕享?xiàng)目、前輩帶出來的壞習(xí)慣…這些都是編程世界里非常不好的行為,拒不完全統(tǒng)計(jì):在一個(gè)項(xiàng)目中,程序員80%的時(shí)間都是在和變量、函數(shù)、方法打交道,因此一個(gè)好的命名習(xí)慣,比注釋或一份詳細(xì)的開發(fā)文檔都重要。針對于此,小編特意根據(jù)行業(yè)標(biāo)準(zhǔn)---阿里開發(fā)文檔,做了一些參考和摘抄,整理出一份關(guān)于命名方面的規(guī)范,給需要的你作參考。

          爭取多寫漂亮代碼,少寫注釋!??!

          文章提綱:

          1. 整體規(guī)范

          2. 包規(guī)范

          3. 類規(guī)范

          4. 方法規(guī)范

          5. OOP的一些強(qiáng)制規(guī)范

          1. 整體規(guī)范

          1. 所有的命名必須以英文意譯,不能以中文拼音意譯,如:獲取我的消息接口,可以寫:myMessage;但不能寫:myXiaoXi

          2. 盡量用精簡的英文命名,但要完整表達(dá)其意義,杜絕int a ,int a1 int aa這種毫無意義的簡化寫法。

          3. 所有命名不能以特殊符號開始,如:_age,_username

          4. 常量用全大寫定義,單詞之間用下劃線分割語義,如:public final int REDIS_MAX_IDLE=5;

          2. 包規(guī)范

          1. 包名全小寫,不能用特殊符號或者駝峰寫法如:com.courseLog.uitl_con是不合規(guī)范的。

          2. 包名要符合包的作用,比如數(shù)據(jù)層要寫dao,工具包要寫util等

          3. 類規(guī)范

          1. 類名風(fēng)格為大寫開頭的駝峰命名方式,如:ApiController、TestController等

          2. 異常類命名使用Exception結(jié)尾,如:CustomerException

          3. 抽象類命名使用Abstract開頭,如:AbstractCustomer

          4. 測試類命名以它要測試的類的名稱開始,以 Test 結(jié)尾,如:CustomerControllerTest

          5. 枚舉類命名要以Enum結(jié)尾,如果CustomerRoleEnum

          6. 其它類型的類命名,在描述類作用的同時(shí),也盡可能表達(dá)出類所用的一些設(shè)計(jì)模式

          4. 方法規(guī)范

          1. 方法名使用駝峰寫法,以小寫字母開頭,如:getUserCourse();

          2. 方法內(nèi)的參數(shù)名、成員變量、局部變量均使用駝峰寫法,以小寫字母開頭,如:int userName;

          3. 接口類的方法和屬性不要加上任何修飾符,保證代碼的簡介。

          4. 方法定義必須要有注釋,包括(方法作用、參數(shù)名、返回類型、創(chuàng)建時(shí)間等)

          5. Service/DAO層方法命名規(guī)約:

          1) 獲取單個(gè)對象的方法用get做前綴。
          2) 獲取多個(gè)對象的方法用list做前綴。
          3) 獲取統(tǒng)計(jì)值的方法用count做前綴。
          4) 插入的方法用save/insert做前綴。
          5) 刪除的方法用remove/delete做前綴。
          6) 修改的方法用update做前綴。

          5. OOP的一些強(qiáng)制規(guī)范

          1. 盡量避免使用可變參數(shù)編程,相同參數(shù)類型,相同業(yè)務(wù)含義,才可以使用 Java 的可變參數(shù),避免使用 Object

          2. 接口過時(shí)必須加@Deprecated 注解

          3. 不能使用過時(shí)的類或方法

          4. 所有的相同類型的包裝類對象之間值的比較,全部使用 equals 方法比較

          5. 類內(nèi)方法定義順序依次是:公有方法或保護(hù)方法 > 私有方法 > getter/setter 方法。

          最近熱文:
          1、重磅!《Java開發(fā)手冊(嵩山版)》最新發(fā)布
          2、打破你的認(rèn)知!Java空指針居然還能這樣玩
          3、盤點(diǎn) 35 個(gè) Apache 頂級項(xiàng)目,我拜服了…
          4、Spring Boot 太狠了,一次發(fā)布 3 個(gè)版本!
          5、Spring Boot 如何快速集成 Redis?
          6、盤點(diǎn) 6 個(gè)被淘汰的 Java 技術(shù),曾經(jīng)風(fēng)光過!
          7、Spring Boot Redis 實(shí)現(xiàn)分布式鎖,真香!
          8、Spring Boot 干掉了 Maven 擁抱 Gradle!
          9、公司來了個(gè)新同事不會用 Lombok!
          10、同事寫了個(gè)隱藏 bug,我排查了 3 天!
          掃碼關(guān)注Java技術(shù)棧公眾號閱讀更多干貨。

          點(diǎn)擊「閱讀原文」獲取面試題大全~

          瀏覽 106
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亲子乱V一区二区三区免费看 | 一区二区三区黄片 | 欧美 第一页 | 久久久666 | 免费日逼的视频 |