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;