代碼規(guī)范,泛泛而談

自從開始工作到現(xiàn)在也有一年半了,也算個小菜雞,剛開始工作受前輩影響,加上自己稍微的強迫癥,對代碼規(guī)范十分看重,如果代碼是磚頭的話,代碼規(guī)范就是圖紙,是圖紙,是砌磚的方式,誰都不想自己家建的亂七八糟吧。

簡單寫寫平時注意的規(guī)范吧,基本都是對照阿里規(guī)范來進(jìn)行的,本文是通過阿里規(guī)范認(rèn)證之后寫的,算是對之前一直遵循的規(guī)范和阿里規(guī)范學(xué)習(xí)的一個總結(jié)吧

1,千萬不要在代碼中成段的注釋代碼,不要的代碼刪了就是了,留著過年啊,一頁的代碼,大部分注釋掉,然后中間穿插可執(zhí)行代碼,簡直沒法看。當(dāng)然阿里規(guī)范有一條是自己之后會用到的,加///注釋掉,這個是基于沒提交過倉庫的代碼,如果是以前倉庫提交過的,不用的,也直接刪掉,想找回直接在倉庫中找回。

2,參數(shù)封裝POJO類,方便參數(shù)擴展和可維護(hù)。
舉例:

 public String get(Integer a, Long b, Integer c, String d, String e, Integer f, String g,
                      String h, String i, Integer g, String k) throws IOException {

這種代碼完全不知道,入?yún)⑹鞘裁?,估計只有開發(fā)人員知道了,可維護(hù)性太差。

3,try-catch,只封裝可能出現(xiàn)RuntimeException的地方,不要圖省事成片catch,成片catch也無所謂,最怕那種不try-catch,還有catch中,加錯誤日志,打入?yún)⒑彤惓?,不要直接打e.getMessage(),更有甚者,直接e.printStackTrace();,要不報錯都沒法查,也可以用ExceptionHandler注解來catch RuntimeException。還有接口錯誤信息不要把異常棧直接傳給調(diào)用方,傳給調(diào)用方是想著讓調(diào)用方給你查bug還是怎么,還有的接口是直接給前端用的,把異常棧信息傳出去就要被笑話了。

4,使用衛(wèi)語句,經(jīng)常看到別人寫的代碼,if else五六層,簡直了,衛(wèi)語句很好的解決了這個問題。

5,多用ctrl+alt+m,提方法,別一個方法寫那么長,讓別人看不懂,一個方法長了,完全可以提子邏輯方法,主方法放子邏輯方法的調(diào)用,一眼就能知道子邏輯方法是干嘛的,很清晰。

6,提常量,不要代碼中成篇魔數(shù),讓別人沒法看,如果常量是一個范圍,提枚舉類,成篇的魔數(shù)直接讓接鍋的人崩潰。

7,多用Lombok,簡化代碼,看著爽

8,應(yīng)用結(jié)構(gòu),一個好的應(yīng)用結(jié)構(gòu),好比樓房,每層是干嘛的,更加合理,使得可讀性和可維護(hù)性更高,可以參考阿里應(yīng)用結(jié)構(gòu)規(guī)范,個人喜歡api放參數(shù)校驗,結(jié)果封裝等,把邏輯交給service,dao放數(shù)據(jù)庫相關(guān)操作。

9,注意防止NPE的產(chǎn)生,任何可能產(chǎn)生NPE的地方都要加判斷

10,列表接口必須分頁, 同時增加page size 過大校驗。

代碼規(guī)范最重要最重要的是code review,誰都會寫垃圾代碼,code review是垃圾代碼的一道防線

阿里規(guī)范還有就是數(shù)據(jù)庫的一些規(guī)范,建庫建表,索引知識等,還有單元測試的,就先不寫了,可以去看。

本文太多的細(xì)節(jié)沒寫,就先寫自己第一時間想到的,以后有機會補充

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 陳墨者沉默著閱讀 164評論 0 0
  • 清晨入溪園,朝露待日晞。 銀杏葉漸黃,果兒滿枝丫。 無名荊棘叢,串串結(jié)瑪瑙。 霜染五彩葉,絢爛更勝花。 2017-...
    秋天的丘閱讀 902評論 2 49

友情鏈接更多精彩內(nèi)容