1. 程式人生 > >Java 開發中的那些注意事項

Java 開發中的那些注意事項

1、	關於if、else、for
如果我們的程式碼中出現以下if、else情況
If( “a”.equal(str)) {
	If(“”){
 for(){
}
  
} else {
  If (“”){
    
}
}
} else if (“b”.equal(str)) {
   If(“”){

  
} else {
  If (“”){
    
}
}

} else if(“c”.equal(str)) {

}…
連續出現4次以上的else if判斷巢狀時,三層以上for迴圈時,會大大降低程式碼的閱讀性,維護性,此時應具體分析產生巢狀迴圈的原因,以OO思想去解決問題,最大程度的避免層級的巢狀的發生。
2、	靜態基礎程式碼
我們會以 1 – 代表女、0 – 代表男,在程式碼中會為了省事直接寫
If (gender == 1) {

} else if ( gender == 0){

} else {

}
似乎這樣沒有太多的問題,因為性別只有兩種,如果是個複雜的標識著資料狀態的基礎程式碼,如、0 – 儲存、1-提交未稽核 2-稽核未通過 3-稽核通過 4-撤銷 5-刪除,建議此時使用列舉去處理

3、	每個函式的程式碼行數
並沒有強制的規定一個函式體內程式碼數量,建議將單個函式的程式碼行數控制在500行以內,建議函式的內的行數200~300,當代碼行數接近500行時就要考慮自己的程式碼結構是否有問題,超過500行程式碼的函式,就要認真的思考程式碼結構了。
4、每個函式的引數數量
如果函式的引數過多,尤其當引數型別一致時,很容易將引數傳錯,只有在程式碼執行期發現問題,降低程式碼開發的效率,建議函式引數5個以上時,使用bean進行封裝,如果為了省事可以使用Map,但一定要做好心裡準備
4、	函式的返回型別
函式儘量不要返回null,因為我們經常會看到這樣的程式碼
If ( list != null && list.size() > 0 ) {

}
如果我們的不返回null,傳遞一個空集合只需要判斷sizie即可
5、	不要想著使用try去替代if
try{
  Integer.valueOf( str ); 
} catch(Exception e){
   //不是一個數字
}
6、	不要妄想使用HttpSession去儲存業務邏輯上的資料
7、	不要妄想使用System.out.priteln去代替Log日誌的記錄
8、	過多操作字串時,使用StringBuffer或StringBuilder
10、不要妄想總是使用Map去代替bean,要知道Map只有在執行期才能發現錯誤
11、該哪層做的事,儘量哪層去做
控制層裡不要有過多的複雜業務邏輯的處理,因為這是業務邏輯層要做的事
使用MyBatis時,不要有過多的複雜的LogicDao的出現
12、儘量統一使用公共方法,不要單獨自己建立相同功能的方法造成程式碼冗餘。
13、保證程式碼的整潔,多寫功能性描述註釋以方便他人呼叫。
14、在程式碼的書寫過程中保持清楚的邏輯關係,條理分明。
15、在非必要的情況下,不要輕易修改他人的程式碼,除非已經非常明確瞭解他人的程式碼功能,並對已使用過該方法的功能不造成影響。
16、注意檔案備份,不輕易提交無效的程式碼到SVN等管理工具中。
17、符合規範的建立檔案的目錄結構,不隨意單獨建立。
18、保持統一的開發環境及使用工具,不單獨使用第三方工具,避免因工具異常無法修復影響開發進度。
19、在判斷物件屬性時,一定要考慮到null 物件,否則造成物件的屬性也是null。
20、在寫程式碼的過程中如果重複出現的模組可以考慮封裝成通用的方法。
21、測試時,保證每一條線都儘量覆蓋,邊界測試(常出現在欄位長度不夠,欄位型別不符等),避免上線後才能真正發現問題。
22、陣列定義規範:儘量以型別中括號變數名的格式命名如:byte[] buffer,避免以中括號結尾,如:byte buffer[];
23、儘量不在程式碼層面大量使用System.out.println();輸出日誌。
24、在寫程式碼之前一定要明確需求,瞭解清楚之後再開始編寫。不要造成寫完之後,與需求不符多次反工影響進度。