當前位置:
首頁 > 最新 > Java代碼規範

Java代碼規範

1.命名、注釋和提示:

(1).命名方法時,首字母不能為大寫,哪怕是單詞的縮寫也不能為大寫。如HgSetToHgInfo,必須改成hgSetToHgInfo。

(2).命名要規範,易理解,與方法執行的目的或作用保持一致。例如,獲取數據列表,命名應為getHolidayGuardsByWatchId,而不是getWatchIdHolidayGuards。

(3).關於注釋,可利用方法和變數的命名來理解業務邏輯,或者用注釋來說明方法的用途和注意要點,兩者酌情而定。

(4).定義了未使用的對象或變數,編譯器會提示此多餘代碼,在AndroidStudio編譯器中,代碼提示中有黃色提示的,即多餘的變數,一定要進行處理。

2.網路請求:

(1).網路請求,不能直接return掉,return掉之後,請求會一直在哪兒,沒有返回,調用者無法做相應處理。

(2).在網路請求之前,不需要返回數據,listener可為空。

3.Log日誌:

(1).在調試程序時,統一使用LogUtil,便於發布版本時控制Log的開關,可針對個人需要在特定模塊Log中增加Tag。

(2).Log Level需要根據實際情況和規範來寫,不能到處寫error級別的Log。

4.判斷方法:

(1).判斷變數x是否為null時,統一為 x == null,不能寫成null == x;

(2).方法體內,有過長的判斷時,儘可能抽調出來,新建臨時變數來判斷,使代碼結構清晰,便於閱讀。

(3).網路請求返回object時,有些地方有判斷是否為空,有些地方未判斷是否為空,前後不一,需保持一致。

5.數據處理:

(1).方法命名了getData,但是在內部又進行了本地緩存數據的刪除等操作,需要考慮重命名,減少歧義,或是將本地數據刪除操作等封裝出來。

(2).執行資料庫刪除操作時未對成功或失敗的情況做處理,當因為不可知因素刪除失敗時,需要對失敗情況進行處理,如重執行,輸出日誌等。

(3).List返回值時,面對返回null和返回空集合的選擇,對於集合和數組作為返回值,使用長度為零的數組或者集合,而不是null,好處是可簡化代碼,增強程序健壯性,缺陷是會增加微不足道的系統開銷。

可簡單的概括為:任何在邏輯上表示查找(search或者get)的意思時,應該返回null;當空對象與其他返回對象有一樣的行為和意義時,使用空對象。

6.其他:

(1).Dao在構造函數初始化中new比較好,避免在每個方法體中使用時new臨時對象,增加代碼行數。但臨時對象在使用後可以被及時回收,兩種方案需針對具體情況處理。

(2).單例模式在多個線程密集調用getInstance時,存在創建多個實例的可能。可使用synchronized修飾getInstance方法,但使用此方法後必然會導致性能下降,可使用雙重檢查加鎖,首先進入

該方法時進行null == sInstance檢查,如果第一次檢查通過,即沒有實例創建,則進入synchronized控制的同步塊,並再次檢查實例是否創建,如果仍未創建,則創建該實例。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 java學習吧 的精彩文章:

Java核心知識點-JVM結構和工作方式
JAVA封裝
用這幾招大大的提高了 編程的效率!
java基礎語法
開發維護大型 Java 項目的建議

TAG:java學習吧 |

您可能感興趣

Python 編碼規範(Google)
Python最簡編碼規範
使用Sonar做團隊代碼規範化審查
關於Google發布的JS代碼規範,你需要了解什麼?
Google Chrome和Mozilla Firefox將支持全新無密碼登錄規範
前端JS代碼規範
每日資訊Google Chrome和Mozilla Firefox將支持全新無密碼登錄規範……
規範槓桿位置的bulldog握姿
Google HTML/CSS 規範
USB 4規範發布,基於Intel Thunderbolt 3技術
git 操作規範
Photoshop中網頁的設計規範
Python編程環境搭建和規範
分散式消息規範 OpenMessaging 1.0.0-preview 發布
谷歌給開發人員發布準則:規範Play Store商店內容
蘋果 CEO:Facebook 應該規範自己的行為
USB Promoter Group正式公布USB 4 規範:40Gbps,兼容雷電3
BEM思想(css命名規範)
前端每周清單:Slack Webpack構建優化,CSS 命名規範與用戶追蹤
詳解HTML與CSS代碼的規範