首頁>技術>

RequestMapping濫用:必須指定請求方式Controller需要異常捕獲符號"," 等其他的常量需要抽取到Constant裡,禁止魔法數字Collections.singletonList方法的使用

這個方法主要用於只有一個元素的最佳化,減少記憶體分配,無需分配額外的記憶體,可以從SingletonList內部類看得出來,由於只有一個element,因此可以做到記憶體分配最小化,相比之下ArrayList的DEFAULT_CAPACITY=10個。

list判空使用工具類"" 請使用StringUtils.EMPTY; lang3 裡面的無意義的寫法

StringBuilder ystbs = new StringBuilder("");

直接是

StringBuilder ystbs = new StringBuilder();

定義List需要泛型

List<Object> objs = new ArrayList<>();

這種是不可取的,需要新增 具體的泛型

自欺欺人字串拼接法

程式碼:

StringBuilder stringBuilder = new StringBuilder();      return stringBuilder.append(systemConfig.getSpfw().getUrl() + "/spgzqsq.html")      .append("?businessKey=" + bk).append("&dataId=" + dataId).append("&spType=" + spType)      .append("&attachmentUrl=" + attachmentUrl).append("&detailUrl=").append("&sysId=" + sysId).toString();
獲取檔名,獲取檔案字尾
public class GetExtension {    public static void main(String[] args) {        String fileName = "xxx.doc";        String name = FilenameUtils.getName(fileName);        String baseName = FilenameUtils.getBaseName(fileName);        String extension = FilenameUtils.getExtension(fileName);        //先前的錯誤做法        String fileName11 = fileName.split("\\.")[1];        System.out.println("檔名:"+ name);        System.out.println("檔名base:"+ baseName);        System.out.println("檔名extension:"+ extension);        String fileName2 = "1.2xxx.pdf";        String name2 = FilenameUtils.getName(fileName2);        String baseName2 = FilenameUtils.getBaseName(fileName2);        String extension2 = FilenameUtils.getExtension(fileName2);        System.out.println("檔名:"+ name2);        System.out.println("檔名base:"+ baseName2);        System.out.println("檔名extension:"+ extension2);    
常量命名規範,雙音節詞常量名稱用下劃線分隔

這裡提供一個idea 快捷鍵 ctrl + shift +u 可以把字元變成全部寫或者是小寫,可以先加上下劃線,然後 ctrl + shift +u

迴圈插入,迴圈列印日誌,這樣的習慣也不好,日誌列印得不好,會列印一噸的日誌
for (String baSj:baSjs) {insertToWsxx(baSj);log.info("baSj : {}" , baSj);}
程式碼易讀性

方式一

//儲存路徑處理,為空的過濾if(StringUtils.isNotEmpty(filePath)){    wsxx.setFilepath(filePath));}else{    return;}

和下面的程式碼比較

方式二

if(StringUtils.isEmpty(filePath)){    return;}else{   wsxx.setFilepath(filePath));}

明顯是 方式二 更清晰一些,美

在controller 賦予了過多的業務邏輯

這一點在很多專案裡面很容易犯,不小心controller 的方法就變的不純潔了,嚴重違反單一職責的原則,賦予了過多的業務邏輯,應該下沉到service裡面!

mapper查詢返回Map結構物件,不利於程式碼維護

沒有泛型,不知道返回的具體的物件,不知道都有哪些屬性

15
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • 我使用 Lambda 表示式將上百行的程式碼精簡到幾行