Kitty-Cloud中的編碼規範

猿天地發表於2020-04-30

專案地址

[1]

規範定義

每個公司,每個團隊都有不同的規範,有的人喜歡這樣,有的人喜歡那樣。所以一個團隊中最好有明確的一份規範,這樣程式碼看起來就會很清爽。

本文只寫了一些最基本的,更全的大家可以參考阿里編碼規範。

API 層

autoconfigure:自動配置包名,類名以 AutoConfigure 結尾,比如 RemoteServiceAutoConfigure。

fallback:Feign 熔斷回退包名,類名以服務介面名開頭+FallbackFactory 結尾,比如 ArticleRemoteServiceFallbackFactory。

request:API 引數類包名,類名以 Request 結尾,比如 ArticleQueryRequest,ArticleSaveRequest。

response:API 響應類包名,類名以 Response 結尾,比如 ArticleResponse。

service:API 介面定義包名,類名以 RemoteService 結尾,比如 ArticleRemoteService。

BIZ 層

bo:業務物件包名,類名以 BO 結尾,比如 ArticleBO。

convert:實體類轉換包名,類名以 Convert 結尾,比如 ArticleBOConvert。

dataobject:資料物件(與表對應)包名,類名以 DO 結尾,比如 ArticleDO。

enums:列舉包名,類名以 Enum 結尾,比如 ArticleStatusEnum。

manager:三方操作管理(RPC/Http/快取)包名,類名以 Manager 結尾,比如 UserManager。

service:業務類包名,類名以 Service 結尾,比如 ArticleService。實現類放入子包 impl 裡面,類名以介面名開頭+Impl 結尾,比如 ArticleServiceImpl。

config:配置包名(Nacos 配置),類名以 Config 結尾,比如 ElasticSearchIndexConfig。

param:業務層引數包名,類名以 Param 結尾,比如 ArticleIndexSaveParam。

document:文件(MongoDB,ElasticSearch)物件包名,類名以 Document 結尾,比如 ArticleDocument。

handler:定時任務類名以 Handler 結尾,比如 EsIndexBuildHandler。

PROVIDER 層

convert:實體類轉換包名,類名以 Convert 結尾,比如 ArticleBOConvert。

service:API 介面實現包名,類名以 API 介面名開頭+Impl 結尾,比如 ArticleRemoteServiceImpl。

服務啟動類以 ProviderApp 結尾。

方法名定義規範

get:單條資料獲取方法名以 get 開頭,比如 getArticle。

list:多條資料獲取方法名以 list 開頭,比如 listHotArticles。

save:資料儲存方法名以 save 開頭,比如 saveComment。

remove:資料刪除方法名以 remove 開頭,比如 removeComment。

search:ES 搜尋以 search 開頭,比如 searchArticle。

註釋規範

類註釋:必須要有,說明類的作用。

/**
* 評論業務介面
*
* @作者 尹吉歡
* @個人微信 jihuan900
* @微信公眾號 猿天地
* @GitHub
* @作者介紹
* @時間 2020-02-13 20:44:04
*/

方法註釋:必須要有,說明方法的作用。

/**
* 儲存評論
* @param param 評論引數
* @return 評論ID
*/
String saveComment(CommentSaveParam param);

欄位註釋:必須要有,說明欄位的作用。

/**
* 評論儲存引數
*
* @作者 尹吉歡
* @個人微信 jihuan900
* @微信公眾號 猿天地
* @GitHub
* @作者介紹
* @時間 2020-02-13 20:44:04
*/
@Data
public class CommentSaveParam {
   /**
    * 評論內容
    */
   private String content;
   /**
    * 評論業務型別
    */
   private int commentBizType;
   /**
    * 評論業務ID
    */
   private String commentBizId;
   /**
    * 評論業務的使用者ID
    */
   private Long commentBizUserId;
   /**
    * 使用者ID
    */
   private Long userId;
}

參考資料

[1]

kitty-cloud:


關於作者:尹吉歡,簡單的技術愛好者,《Spring Cloud 微服務-全棧技術與案例解析》, 《Spring Cloud 微服務 入門 實戰與進階》作者, 公眾號 猿天地 發起人。個人微信 jihuan900, 歡迎勾搭。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31561268/viewspace-2689503/,如需轉載,請註明出處,否則將追究法律責任。

相關文章