alibaba-Java開發手冊心得-一編程規約-1命名風格

來源:互聯網
上載者:User

標籤:序列化   工具   風格   sla   方法   命名   class   factor   之間   

1.【強制】不能以 _ $開始 或結束

2.【強制】嚴禁使用 拼音和英文混合,或中文。即使是純拼音也要避免使用。除非是國際通用的例如taobao youku 等。

3.【強制】類名 必須遵從駝峰形式UpperCamelCase,除了DO/BO/DTO/VO/AO.

正例:MarcoPolo / UserDO / XmlService / TcpUdpDeal / TaPromotion

反例:macroPolo / UserDo / XMLService / TCPUDPDeal / TAPromotion

4. 【強制】方法名、參數名、成員變數、局部變數 都統一使用lowerCamelCase風格,必須遵從駝峰形式。

正例: localValue / getHttpMessage() / inputUserId

5. 【強制】常量命名全部大寫,單詞間用底線隔開,力求語義表達完整清楚,不要嫌名字長。

正例: MAX_STOCK_COUNT

反例: MAX_COUNT

6. 【強制】抽象類別命名使用Abstract或Base開頭;異常類命名使用Exception結尾;測試類別命名以它要測試的類的名稱開始,以Test結尾。

7. 【強制】中括弧是數群組類型的一部分,數組定義如下:String[] args; 反例:使用String args[]的方式來定義。

8. 【強制】POJO類中布爾類型的變數,都不要加is,否則部分架構解析會引起序列化錯誤。

反例:定義為基礎資料型別 (Elementary Data Type)Boolean isDeleted;的屬性,它的方法也是isDeleted(),RPC
架構在反向解析的時候,“以為”對應的屬性名稱是deleted,導致屬性擷取不到,進而拋出異常。

9. 【強制】包名統一使用小寫,點分隔字元之間有且僅有一個自然語義的英語單詞。包名統一使用單數形式,但是類名如果有複數含義,類名可以使用複數形式。

正例: 應用工具類包名為com.alibaba.open.util、類名為MessageUtils(此規則參考spring的架構結構)

10. 【強制】杜絕完全不規範的縮寫,避免望文不知義。

反例: AbstractClass“縮寫”命名成AbsClass;condition“縮寫”命名成 condi,此類隨意縮寫嚴重降低了代碼的可閱讀性。

11. 【推薦】如果使用到了設計模式,建議在類名中體現出具體模式。 說明:將設計模式體現在名字中,有利於閱讀者快速理解架構設計思想。

正例:public class OrderFactory; public class LoginProxy; public class ResourceObserver;

12. 【推薦】介面類中的方法和屬性不要加任何修飾符號(public 也不要加),保持代碼的簡潔性,並加上有效Javadoc注釋。盡量不要在介面裡定義變數,如果一定要定義變數,肯定是與介面方法相關,並且是整個應用的基礎常量。

正例:介面方法簽名:void f(); 介面基礎常量表示:String COMPANY = "alibaba";

反例:介面方法定義:public abstract void f(); 說明:JDK8中介面允許有預設實現,那麼這個default方法,是對所有實作類別都有價值的預設實現。

13. 介面和實作類別的命名有兩套規則: 1)【強制】對於Service和DAO類,基於SOA的理念,暴露出來的服務一定是介面,內部的實作類別用Impl的尾碼與介面區別。 正例:CacheServiceImpl實現CacheService介面。 2) 【推薦】 如果是形容能力的介面名稱,取對應的形容詞做介面名(通常是–able的形式)。 正例:AbstractTranslator實現 Translatable。

 

alibaba-Java開發手冊心得-一編程規約-1命名風格

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.