Kitty-Cloud中的編碼規範

項目地址

https://github.com/yinjihuan/kitty-cloud

規範定義

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

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

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。

註釋規範

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

<code>/**
 * 評論業務接口
 *
 * @作者 尹吉歡
 * @個人微信 jihuan900
 * @微信公眾號 猿天地
 * @GitHub https://github.com/yinjihuan
 * @作者介紹 http://cxytiandi.com/about
 * @時間 2020-02-13 20:44:04
 */
/<code>

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

<code>/**
 * 保存評論
 * @param param 評論參數
 * @return 評論ID
 */
String saveComment(CommentSaveParam param);
/<code>

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

<code>/**
 * 評論保存參數
 *
 * @作者 尹吉歡
 * @個人微信 jihuan900
 * @微信公眾號 猿天地
 * @GitHub https://github.com/yinjihuan
 * @作者介紹 http://cxytiandi.com/about
 * @時間 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;
}
/<code>

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


Kitty-Cloud中的編碼規範


分享到:


相關文章: