首頁>Club>
如何使變數名變成別人一看就懂的?
17
回覆列表
  • 1 # Java進階架構師

    關於命名,我覺得可以參考阿里巴巴開發手冊,雖說怎樣命名都可以,但是在一個統一的約束下,簡潔高效的命名,可以減少許多溝通以及維護的成本。我說下幾點比較強調的。

    1.嚴禁中英文混合命名! 程式碼中的命名嚴禁使用拼音與英文混合的方式。

    2.不允許直接使用中文命名的方式。

    3.方法名、引數名、成員變數、區域性變數都統一使用駝峰命名法!駝峰形式是最為直觀高效的形式!正例:lowerCamelCase,getHttpMessage()等

    4.常量命名全部大寫,單詞間用下劃線隔開,力求語義表達完整清楚,不要嫌名字長。

    5.關於類名,則

    5.1抽象類命名使用 Abstract 或 Base 開頭 ;

    5.2 異常類命名使用 Exception 結尾 ;

    5.3 測試類命名以它要測試的類的名稱開始,以 Test 結尾。

    6.杜絕完全不規範的縮寫,避免望文不知義。男人,寧願長點也不省事點!

    7.建議在類名中體現出具體模式。說明:將設計模式體現在名字中,有利於閱讀者快速理解架構設計思想。

    正例: public class OrderFactory;

    public class LoginProxy;

    public class ResourceObserver;等

    8.列舉類名建議帶上 Enum 字尾,列舉成員名稱需要全大寫,單詞間用下劃線隔開。簡潔高效無毒無副作用!

    9.各層命名規約:

    A) Service / DAO 層方法命名規約

    1 ) 獲取單個物件的方法用 get 做字首。

    2 ) 獲取多個物件的方法用 list 做字首。

    3 ) 獲取統計值的方法用 count 做字首。

    4 ) 插入的方法用 save( 推薦 ) 或 insert 做字首。

    6 ) 修改的方法用 update 做字首。

    B) 領域模型命名規約

    1 ) 資料物件: xxxDO , xxx 即為資料表名。

    2 ) 資料傳輸物件: xxxDTO , xxx 為業務領域相關的名稱。

    3 ) 展示物件: xxxVO , xxx 一般為網頁名稱。

    4 ) POJO 是 DO / DTO / BO / VO 的統稱,禁止命名成 xxxPOJO 。

  • 2 # 會點程式碼的大叔

    我之前也在別的回答裡面提過《阿里巴巴Java開發手冊》,大家可以在網上搜索一下,很容易就能下載到,建議大家都閱讀一下。

    我們現在開發的時候也是參考這個開發手冊,變數的命名規範也在裡面有提到。

    整體內容舉幾個例子

    一般的命名規範我就不復制貼上了,找幾個不常見的特殊說明一下:

    方法名、引數名、成員變數、區域性變數都統一使用 lowerCamelCase風格,必須遵從 駝峰形式。

    正例: localValue / getHttpMessage() / inputUserId

    補充說明:變數名使用駝峰格式的時候,有一些ORM框架在做資料庫欄位和VO中的變數名對照的時候,會自動轉成下劃線,比如localValue對應資料庫的列名為local_value,當然這個是可以做配置的。

    類名使用 UpperCamelCase 風格,必須遵從駝峰形式,但以下情形例外:(領域模型的相關命名)DO/BO/DTO/VO等。

    比如:UserVO,而不是UserVo。

    補充說明:還要注意一點,POJO是DO/BO/DTO/VO的統稱,不能命名成 xxxPOJO。

    POJO 類中布林型別的變數,都不要加 is,否則部分框架解析會引起序列化錯誤。

    補充說明:對於isSuccess這個布林變數,IDE在自動生成setter/getter方法的時候,生成的是isSuccess()和setSuccess(),而不是isIsSuccess()和setIsSuccess()。

    RPC框架反向解析會有問題。

    SpringMVC解析成為POJO物件的時候,也會解析不到setIsSuccess()方法,而且不報錯,默默地設定成False。

    更多規範,請下載閱讀開發手冊。

  • 中秋節和大豐收的關聯?
  • 有沒有唯美一點的動漫推薦?