标签:manager 实现类 转换 自动配置 content long last 公众 article
项目地址规范定义
每个公司,每个团队都有不同的规范,有的人喜欢这样,有的人喜欢那样。所以一个团队中最好有明确的一份规范,这样代码看起来就会很清爽。
本文只写了一些最基本的,更全的大家可以参考阿里编码规范。
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 https://github.com/yinjihuan
* @作者介绍 http://cxytiandi.com/about
* @时间 2020-02-13 20:44:04
*/
方法注释:必须要有,说明方法的作用。
/**
* 保存评论
* @param param 评论参数
* @return 评论ID
*/
String saveComment(CommentSaveParam param);
字段注释:必须要有,说明字段的作用。
/**
* 评论保存参数
*
* @作者 尹吉欢
* @个人微信 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;
}
参考资料
[1]
kitty-cloud: https://github.com/yinjihuan/kitty-cloud
关于作者:尹吉欢,简单的技术爱好者,《Spring Cloud 微服务-全栈技术与案例解析》, 《Spring Cloud 微服务 入门 实战与进阶》作者, 公众号 猿天地 发起人。个人微信 jihuan900, 欢迎勾搭。
相关推荐
扫下面的码加技术群,广告勿扰
标签:manager 实现类 转换 自动配置 content long last 公众 article
原文地址:https://blog.51cto.com/14888386/2515130