阿里開發手冊泰山版學習筆記二 程式設計規約 常量定義

2021-10-06 07:08:55 字數 1212 閱讀 9831

【強制】不允許任何魔法值(即未經預先定義的常量)直接出現在**中。

反例://本例中同學 a 定義了快取的 key,然後快取提取的同學 b 使用了 id#taobao 來提取,少了下劃線,導致故障。

string key = 「id#taobao_」 + tradeid;

cache.put(key, value);

【強制】在 long 或者 long 賦值時,數值後使用大寫的 l,不能是小寫的 l,小寫容易跟數字

混淆,造成誤解。

說明:long a = 2l; 寫的是數字的 21,還是 long 型的 2。

【推薦】不要使用乙個常量類維護所有常量,要按常量功能進行歸類,分開維護。

說明:大而全的常量類,雜亂無章,使用查詢功能才能定位到修改的常量,不利於理解,也不利於維護。

正例:快取相關常量放在類 cacheconsts 下;系統配置相關常量放在類 configconsts 下。

【推薦】常量的復用層次有五層:跨應用共享常量、應用內共享常量、子工程內共享常量、包

內共享常量、類內共享常量。

1) 跨應用共享常量:放置在二方庫中,通常是 client.jar 中的 constant 目錄下。

2) 應用內共享常量:放置在一方庫中,通常是子模組中的 constant 目錄下。

反例:易懂變數也要統一定義成應用內共享常量,兩位工程師在兩個類中分別定義了「yes」的變數:

類 a 中:public static final string yes = 「yes」;

類 b 中:public static final string yes = 「y」;

a.yes.equals(b.yes),預期是 true,但實際返回為 false,導致線上問題。

3) 子工程內部共享常量:即在當前子工程的 constant 目錄下。

4) 包內共享常量:即在當前包下單獨的 constant 目錄下。

5) 類內共享常量:直接在類內部 private static final 定義。

【推薦】如果變數值僅在乙個固定範圍內變化用 enum 型別來定義。

說明:如果存在名稱之外的延伸屬性應使用 enum 型別,下面正例中的數字就是延伸資訊,表示一年中的

第幾個季節。

正例:

public

enum seasonenum

public

intgetseq()

}

阿里開發手冊泰山版學習筆記二十 工程結構 應用分層

推薦 圖中預設上層依賴於下層,箭頭關係表示可直接依賴,如 開放介面層可以依賴於web 層,也可以直接依賴於service 層,依此類推 1 開放介面層 可直接封裝 service 方法暴露成 rpc 介面 通過 web 封裝成 http 介面 閘道器控制層等。2 終端顯示層 各個端的模板渲染並執行顯...

阿里java開發手冊1 3版 觀感

看了一下午,列下比較有用的點 1.2 常量定義 第2點 long a 2l,l用大寫 1.2 常量定義 第3點 不要使用乙個常量類維護所有常量,按常量功能進行歸類,分開維護。1.3 格式 第2點 左右小括號和字元之間不加空格 比如 if a b 1.3 格式 第5點 採用4個空格縮排,禁止使用tab...

學習阿里巴巴開發手冊 6

1.在switch塊內,每個case通過break return等終止,或者說明繼續執行到那個case為止。每個switch塊內,必須包含乙個default語句且放在最後。即使什麼沒有。2.if else for while do語句中必須使用大括號,即使一行 3.表達異常的分支時,少用if els...