阿里Java編程規(guī)約【十一】 其他

1.【強(qiáng)制】在使用正則表達(dá)式時(shí),利用好其預(yù)編譯功能,可以有效加快正則匹配速度。
說明:不要在方法體內(nèi)定義:Pattern pattern = Pattern.compile("規(guī)則");

2.【強(qiáng)制】避免用 ApacheBeanutils 進(jìn)行屬性的 copy。
說明:ApacheBeanUtils 性能較差,可以使用其他方案比如 SpringBeanUtils,CglibBeanCopier,注意均是淺拷貝。

3.【強(qiáng)制】velocity 調(diào)用 POJO 類的屬性時(shí),直接使用屬性名取值即可,模板引擎會自動按規(guī)范調(diào)用 POJO的 getXxx(),如果是 boolean 基本數(shù)據(jù)類型變量(boolean 命名不需要加 is 前綴),會自動調(diào) isXxx()方法。
說明:注意如果是 Boolean 包裝類對象,優(yōu)先調(diào)用 getXxx() 的方法。

4.【強(qiáng)制】后臺輸送給頁面的變量必須加 $!{var} ——中間的感嘆號。
說明:如果 var 等于 null 或者不存在,那么 ${var} 會直接顯示在頁面上。
筆記:這里說的是 velocity。

5.【強(qiáng)制】注意 Math.random() 這個(gè)方法返回是 double 類型,注意取值的范圍 0 ≤ x < 1(能夠取到零值,注意除零異常),如果想獲取整數(shù)類型的隨機(jī)數(shù),不要將 x 放大 10 的若干倍然后取整,直接使用 Random 對象的 nextInt 或者 nextLong 方法。

6.【強(qiáng)制】枚舉 enum(括號內(nèi))的屬性字段必須是私有且不可變。

7.【推薦】不要在視圖模板中加入任何復(fù)雜的邏輯運(yùn)算。
說明:根據(jù) MVC 理論,視圖的職責(zé)是展示,不要搶模型和控制器的活。

8.【推薦】任何數(shù)據(jù)結(jié)構(gòu)的構(gòu)造或初始化,都應(yīng)指定大小,避免數(shù)據(jù)結(jié)構(gòu)無限增長吃光內(nèi)存。
筆記:尤其是集合、批量參數(shù)、數(shù)據(jù)庫表都要有最大數(shù)量的限制,否則就為OOM埋下隱患。

9.【推薦】及時(shí)清理不再使用的代碼段或配置信息。
說明:對于垃圾代碼或過時(shí)配置,堅(jiān)決清理干凈,避免程序過度臃腫,代碼冗余。
正例:對于暫時(shí)被注釋掉,后續(xù)可能恢復(fù)使用的代碼片斷,在注釋代碼上方,統(tǒng)一規(guī)定使用三個(gè)斜杠(///)
來說明注釋掉代碼的理由:

public static void hello() {
    /// 業(yè)務(wù)方通知活動暫停
    // Business business = new Business();
    // business.active();
    System.out.println("it's finished");
}

參考

  1. 2022 Java開發(fā)手冊(黃山版).pdf
  2. 白話阿里巴巴Java開發(fā)手冊(安全規(guī)約) - 李艷鵬 - 簡書(http://www.itdecent.cn/p/9528c4ea1504)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

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