https://github.com/yinjihuan/kitty-cloud[1] 每个公司,编码每个团队都有不同的规范规范,有的编码人喜欢这样,有的规范人喜欢那样。所以一个团队中最好有明确的编码一份规范,这样代码看起来就会很清爽。规范 本文只写了一些最基本的编码,更全的规范大家可以参考阿里编码规范。 autoconfigure:自动配置包名,编码类名以 AutoConfigure 结尾,规范比如 RemoteServiceAutoConfigure。编码 fallback:Feign 熔断回退包名,规范类名以服务接口名开头+FallbackFactory 结尾,编码比如 ArticleRemoteServiceFallbackFactory。规范 request:API 参数类包名,编码类名以 Request 结尾,比如 ArticleQueryRequest,ArticleSaveRequest。 response:API 响应类包名,类名以 Response 结尾,比如 ArticleResponse。 service:API 接口定义包名,类名以 RemoteService 结尾,比如 ArticleRemoteService。 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。 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; } kitty-cloud: https://github.com/yinjihuan/kitty-cloud 关于作者:尹吉欢,简单的技术爱好者,《Spring Cloud 微服务-全栈技术与案例解析》, 《Spring Cloud 微服务 入门 实战与进阶》作者, 公众号 猿天地 发起人。个人微信 jihuan900, 欢迎勾搭。项目地址
规范定义
API 层
BIZ 层
PROVIDER 层
方法名定义规范
注释规范
参考资料
[1]