1.資料庫操作、IO操作等需要使用結束close()的對象必須在try -catch-finally 的finally中close(),如果有多個IO對象需要close(),需要分別對每個對象的close()方法進行try-catch,防止一個IO對象關閉失敗其他IO對象都未關閉。
2.系統非正常運行產生的異常捕獲後,如果不對該異常進行處理,則應該記錄日誌。
3.自己拋出的異常必須要填寫詳細的描述資訊。
4.運行時異常使用RuntimeException的子類來表示,不用在可能拋出異常的方法聲明上加throws子句。非運行期異常是從Exception繼承而來的,必須在方法聲明上加throws子句。
5.在程式中使用異常處理還是使用錯誤返回碼處理,根據是否有利於程式結構來確定,並且異常和錯誤碼不應該混合使用,推薦使用異常。
6.注意運算子的優先順序,並用括弧明確運算式的操作順序,避免使用預設優先順序。
7.避免使用不易理解的數字,用有意義的標識來替代。涉及物理狀態或者含有物理意義的常量,不應直接使用數字,必須用有意義的靜態變數或者枚舉來代替。使用異常來表示方法執行錯誤,而不是使用C++的錯誤返回碼方式。
8.數組聲明的時候使用 int[] index ,而不要使用 int index[] ;
9.不要使用 System.out 與 System.err 進行控制台列印,應該使用工具類(如:日誌工具)進行統一記錄或者列印。
10.用調測開關來切換軟體的DEBUG版和正式版,而不要同時存在正式版本和DEBUG版本的不同源檔案,以減少維護的難度。
11.集合必須指定模板類型Map<String,String> maps = new HashMap<String,String>();
12.一個檔案不要定義兩個類(並非指內部類)。
13.所有的資料類必須覆寫toString()、hashCode()、equals() 方法,toString()方法返回該類有意義的內容。
14.判斷語句不要使用”* == true”來判斷為真
15.不要寫沒有必要的向上強制轉型。 int m = 10; float n = (float)m;