【代碼規範】常見編碼規範

文章來源:公衆號-智能化IT系統。node


1.明確方法功能,精確(而不是近似)地實現方法設計。若是一個功能將在多處實現,即便只有兩行代碼,也應該編寫方法實現。算法

說明:數據庫

雖然爲僅用一兩行就可完成的功能去編方法好象沒有必要,但用方法可以使功能明確化,增長程序可讀性,亦可方便維護、測試。數組

 

2.應明確規定對接口方法參數的合法性檢查應由方法的調用者負責仍是由接口方法自己負責,缺省是由方法調用者負責。app

說明:測試

對於模塊間接口方法的參數的合法性檢查這一問題,每每有兩個極端現象,即:要麼是調用者和被調用者對參數均不做合法性檢查,結果就遺漏了合法性檢查這一必要的處理過程,形成問題隱患;要麼就是調用者和被調用者均對參數進行合法性檢查,這種狀況雖不會形成問題,但產生了冗餘代碼,下降了效率。spa

 

3.明確類的功能,精確(而不是近似)地實現類的設計。一個類僅實現一組相近的功能。說明:劃分類的時候,應該儘可能把邏輯處理、數據和顯示分離,實現類功能的單一性。設計

示例:日誌

數據類不能包含數據處理的邏輯。通訊類不能包含顯示處理的邏輯。code

 

4.全部的數據類必須重載toString() 方法,返回該類有意義的內容。說明:父類若是實現了比較合理的toString() , 子類能夠繼承沒必要再重寫。

示例:

public TopoNode
 {
     private String nodeName;
     public String toString()
      {
         return "NodeName : " +  nodeName;
      }
 }

 

5.數據庫操做、IO操做等須要使用結束close()的對象必須在try -catch-finally finallyclose()


6.異常捕獲後,若是不對該異常進行處理,則應該記錄日誌(針對後臺)。

說明:如有特殊緣由必須用註釋加以說明。


7.本身拋出的異常必需要填寫詳細的描述信息。

說明:便於問題定位。

示例:

throw  new IOException("Writing data error! Data: " + data.toString());

 

8. 在程序中使用異常處理仍是使用錯誤返回碼處理,根據是否有利於程序結構來肯定,而且異常和錯誤碼不該該混合使用,推薦使用異常。說明:一個系統或者模塊應該統一規劃異常類型和返回碼的含義。可是不能用異常來作通常流程處理的方式,不要過多地使用異常,異常的處理效率比條件分支低,並且異常的跳轉流程難以預測。

 

9.避免使用不易理解的數字,用有意義的標識來替代。涉及物理狀態或者含有物理意義的常量,不該直接使用數字,必須用有意義的靜態變量來代替。
示例:

以下的程序可讀性差

if  (state == 0)

{

state = 1;

... // program  code

}

應改成以下形式

private final static int  TRUNK_IDLE = 0;
 private final static int TRUNK_BUSY = 1;
 private final static int TRUNK_UNKNOWN = -1;
 
 

if (state == TRUNK_IDLE)

{
     state = TRUNK_BUSY;
     ... // program code

}

 

10.數組聲明的時候使用 int[] index ,而不要使用 int index[] 。說明:

 

11.異常捕獲儘可能不要直接 catch (Exception ex) ,應該把異常細分處理。


12.不要使用難懂的技巧性很高的語句,除非頗有必要時。說明:高技巧語句不等於高效率的程序,實際上程序的效率關鍵在於算法。


公衆號-智能化IT系統。每週都有技術文章推送,包括原創技術乾貨,以及技術工做的心得分享。掃描下方關注。



公衆號-智能化IT系統。每週都有技術文章推送,包括原創技術乾貨,以及技術工做的心得分享。掃描下方關注。