Java 編程實踐原則 原

  • 避免使用字符串常量

  • 常量定義儘量使用枚舉

  • Getter 返回對象屬性時需要考慮對象溢出風險

  • 慎重重寫 Object 類的 clone 方法,注意深拷貝和淺拷貝問題

  • 避免創建單一線程,使用線程池

  • 注意 32 位系統中 longdouble 類型線程安全

  • 儘量使用 volatile 關鍵字代替鎖實現

  • 使用 JDK 8 引入的 java.time 包下新的日期時間 API 代替之前版本的日期時間 API

  • 儘量使用 final 定義類、屬性和變量

  • 注意開源序列化框架在不同操作系統平臺中的 API 兼容性,如:Google GSON,Alibaba Fastjson

  • 使用 JDK 8 引入的 Optional 類防止 NPE 異常

  • 集合操作儘量使用 JDK 8 Stream API

  • 注意 null 的使用,尤其在方法返回值中,因爲 null 時長會引發歧義

  • 所有 POJO / BEAN / PO / BO / VO 類重寫 toString 方法,方便在發生異常時被日誌框架用於打印出有意義的日誌信息

  • 考慮使用靜態方法代替構造函數

  • 如果構造函數參數很多且有多個重載,考慮使用 Builder

  • 對於實現了 Closable 接口的資源,儘量使用 JDK 7 引入的 try-with-resource 代替 try-finally

  • 系統內部使用異常代替返回非法標識

  • 捕獲 Exception 時謹慎調用 printStackTrace 方法

  • 如果 DAO 層拋出異常,需要在其上一層捕獲並重新拋出成一個意義更加明確的異常

  • 系統對外接口使用非法標識代替異常拋出

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