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結構物件,不利於程式碼維護沒有泛型,不知道返回的具體的物件,不知道都有哪些屬性
最新評論