程序員上班理想中的狀態
程序員、java
適用人群
- 像我這樣英語比較菜,但又想把代碼寫漂亮的人。
- 各種程序員
吐槽
規範類名牢記一波
那些沒文化的程序員,類名方法名就無情的暴露了你
培訓機構告訴你英語垃圾沒關係,其實代碼功能是沒關係但非常難看
可以到spring框架裡看看真大神怎麼定義類名、包名、方法名等等。
名詞+動詞+名詞
轉換類 靜態的
- XXXDTOConverter.java
核心業務類
- XXXXXXProcessor.java 這個標準些
- XXXXXXProcess.java
- XXXXXXHandler.java
- XXXXServiceImpl.java
驗證類 靜態的
- XXXXValidator.java
常量類 靜態的
- XXXXConstants.java
枚舉類
- XXXXEnum.java
自定義異常
- XXXXException.java
定時任務
- XXXScheduler.java
rpc接口
- XXXXXXRpcServiceImpl.java
攔截器
- XXXXXInterceptor.java
工廠類
- XXXXFactory.java
插件
- XXXXXPlugin.java
上下文
- XXXXXContext.java
工具類
- XXXXUtil.java
測試類
- XXXXTest.java
pojo類定義
- XXXModel.java
- XXXXResult.java
- XXXXRequest.java
- 表名.java Domain類
- XXXXDO.java ---dao接口的對象
- ContentForm.java
- ContentVO.java
- XXXXXDTO.java
方法名 動詞
- validate
- send
- check
- doHandler
- add
- handle
- saveXXXX
- executeXXXX
- executeTask
- register
【參考】各層命名規約:
A) Service / DAO 層方法命名規約
1 ) 獲取單個對象的方法用 get 做前綴。
2 ) 獲取多個對象的方法用 list 做前綴,複數形式結尾如:listObjects。
3 ) 獲取統計值的方法用 count 做前綴。
4 ) 插入的方法用 save/insert 做前綴。
5 ) 刪除的方法用 remove/delete 做前綴。
6 ) 修改的方法用 update 做前綴。
B) 領域模型命名規約
1 ) 數據對象: xxxDO , xxx 即為數據表名。
2 ) 數據傳輸對象: xxxDTO , xxx 為業務領域相關的名稱。
3 ) 展示對象: xxxVO , xxx 一般為網頁名稱。
4 ) POJO 是 DO / DTO / BO / VO 的統稱,禁止命名成 xxxPOJO 。
接口和實現類的命名有兩套規則:
1 ) 【強制】對於 Service 和 DAO 類,基於 SOA 的理念,暴露出來的服務一定是接口,內部
的實現類用 Impl 的後綴與接口區別。
正例: CacheServiceImpl 實現 CacheService 接口。
2 ) 【推薦】 如果是形容能力的接口名稱,取對應的形容詞為接口名 ( 通常是– able 的形式 ) 。
正例: AbstractTranslator 實現 Translatable 接口 。
【參考】枚舉類名建議帶上 Enum 後綴,枚舉成員名稱需要全大寫,單詞間用下劃線隔開。
說明:枚舉其實就是特殊的類,域成員均為常量,且構造方法被默認強制是私有。
正例:枚舉名字為 ProcessStatusEnum 的 成員名稱: SUCCESS / UNKNOWN _ REASON 。
【推薦】如果模塊、接口、類、方法使用了設計模式,在命名時需體現出具體模式。
說明:將設計模式體現在名字中,有利於閱讀者快速理解架構設計理念。
正例: public class OrderFactory;
public class LoginProxy;
public class ResourceObserver;
參考資料
1.自己項目裡的代碼
2.阿里java開發規約