Java日常寫代碼規範總結

1. 條件判斷表達式比較長的情況下,可以封裝成一個方法isXXX(),返回boolean,例如:

private boolean isGZFinance(Integer channelId) {
    return channelId == null || channelId <= 0 || channelId == AccidentChannel.CHANNEL_ID_101.getIndex().intValue();
}

2. 一個方法只做一件事,可以將依賴數據傳參傳入,方法內通常不建議對入參做修改,如果需要修改入參,需要在方法名上加以體現AndSetXXX,如果方法名稱叫做計算總保費,那麼理應只做計算操作,不應該有相應的查詢(單一職責原則),那麼出參應該是一個數值或保費的對象,而不應該返回其他信息

3. 一個項目裏,可以將關於日期時間操作的抽出來作爲公共部分,例如日期格式化等等

4. 定時任務一般要記錄任務中成功多少,失敗多少,用時間多少

int total = channelIdList.size();
int success = 0;
int fail = 0;
Stopwatch stopwatch = Stopwatch.createStarted();
//業務代碼
stopwatch.stop();
log.info("XXXJob: XXX統計, total:{}, success:{}, fail:{}, time:{}", total, success, fail, stopwatch);

5. 使用事務的時候注意事務是否能生效:事務不生效

6. 代碼分層:controller前端接口    --->    dubbo接口 -> service -> DAO數據操作

7. 延時隊列:調用第三方接口要考慮超時的可能,選擇異步的方法,延時隊列超時也會啓動重試機制

8. SQL: select * from table limit [offset,] rows

offset是偏移量,表示我們現在需要的數據是跳過多少行數據之後的,例如:limit 10, 20是指從11條數據開始,取20條數據

9. 查詢列表分頁接口通常都有個列表總數,這是要返回當前查詢條件的總數

10. controller層返回給前端的實體類不要複用dubbo層的,目的:少依賴性,dubbo提供原始數據,controller轉成需要的數據

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章