一些你需要知道的Java編程代碼規範

首先,強烈推薦你先參考Sun官方的Java代碼/編程規範:
http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html
你可以打破以上的任一規則,不過一定要有個好理由,並且記錄下來。
永遠,永遠,永遠不要在沒有記錄堆棧跟蹤信息(stack trace)或是重新拋出異常的情況下捕獲異常,俗稱“吃掉異常”。用log.debug()也不錯,只要別丟失堆棧跟蹤信息就行。
原則上請使用基於setter方法的依賴注入來將類與類解耦(當然,如果緊耦合可以令人滿意的話就另當別論)。
若沒有足夠理由,不要把實例或類變量聲明爲公有。通常,實例的私有變量如果不需要暴露給外部的話,則無需設置setter和getter方法。
避免縮寫。爲人熟知的縮寫則可以,例如DAO。
建議約定:需要返回Collections或者數組的方法不應該返回null。應該返回空的容器或數組,而不是null。
禁止使用“魔法數字”,即禁止在代碼中直接使用未聲明的常量數字。
設計一組常量時優先考慮使用enum類型枚舉,如果你的JDK版本高於5.0的話。
類被設計用來歸納一種對象,即把一種對象的屬性和行爲歸置在一起,形成一個“類型”。包則是把相關的類集中在一起的容器,所以可以利用“同包級訪問”權限(即不聲明爲public/protected/private)來進一步完善系統模塊的封裝性,類似C++中的“友元”。
在系統設計中,不可避免的會涉及到創建工具類型,如:StringUtils, DateTools … 這些工具類型的特點是:靜態而不需要被實例化,因此建議將此類型聲明爲抽象(abstract)。
以面向對象的角度來看,結構化的程序都是靜態(static)的,大量使用靜態類型無疑不是面向對象的思路。靜態域是無法爲實例保持狀態的,同時,在多線程情況下,需要考慮靜態類型造成線程重入和內存不同步的問題。慎用靜態(static)。
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章