1. 程式人生 > >Java開發程式碼規範之程式設計規約(二)——常量定義

Java開發程式碼規範之程式設計規約(二)——常量定義

文章通過學習《阿里巴巴Java開發手冊》整理。

1 不允許任何魔法值(即未定義的常量)直接出現在程式碼中。
反例:

String key = "Id#taobao_" + tradeId;
cache.put(key, value);

2 long或Long初始賦值時,使用大寫的L,不能使用小寫的l,小寫容易跟數字1混淆,造成誤解。
正例:Long a = 2L;

3 不要使用一個常量類維護所有常量,按常量功能進行歸類,分開維護。
說明:大而全的常量類,得使用查詢功能才能定位到修改的常量,不利於理解和維護。
正例:快取相關常量放在類CacheConsts下;系統配置相關的常量放在類ConfigConsts下。

4 常量的複用層次有五層:跨應用共享常量、應用內共享常量、子工程內共享常量、包內共享常量、類內共享常量。
1)跨應用共享常量:放置在二方庫中,通常是client.jar中的constant目錄下。
2)應用內共享常量:放置在一方庫中,通常是modules中的constant目錄下。
3)子工程內部共享常量:即在當前子工程的constant目錄下。
4)包內共享常量:即在當前包下單獨的constant目錄下。
5)類內共享常量:直接在類內部private static final定義。

5 如果變數值僅在一個範圍內變化,且帶有名稱之外的延伸屬性,定義為列舉類。下面正例中的數字就是延伸資訊,表示星期幾。
正例:public Enum{MONDAY(1),TUESDAY(2),WEDNESDAY(3),THURSDAY(4),FRIDAY(5),SATURDAY(6),SUNDAY(7);}