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");
}
參考
- 2022 Java開發(fā)手冊(黃山版).pdf
- 白話阿里巴巴Java開發(fā)手冊(安全規(guī)約) - 李艷鵬 - 簡書(http://www.itdecent.cn/p/9528c4ea1504)