专栏首页猿天地Kitty-Cloud中的编码规范

Kitty-Cloud中的编码规范

项目地址

https://github.com/yinjihuan/kitty-cloud[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 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

相关推荐

本文分享自微信公众号 - 猿天地(cxytiandi)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-04-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Token认证,如何快速方便获取用户信息

    我们有一个Web项目,这个项目提供了很多的Rest API。也做了权限控制,访问API的请求必须要带上事先认证后获取的Token才可以。

    猿天地
  • JVM垃圾回收与一次线上内存泄露问题分析和解决过程

    内存泄漏(Memory Leak)是指程序中己动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。

    猿天地
  • 分布式架构知识体系

    节点,时间,一致性,CAP,ACID,BASE,P2P,机器伸缩,网络变更,负载均衡,限流,鉴权,服务发现,服务编排,降级,熔断,幂等,分库分表,分片分区,自动...

    猿天地
  • 本周VR圈大事件︱卡西欧推出360度全景相机;SpaceVR将发射VR相机卫星

    VRPinea
  • 调查:移动设备管理发展状况 抢占移动高地IT巨头谋划收购大战

    IT技术和通讯技术的进一步融合,带来了智能手机及平板电脑市场的空前繁荣,移动互联网产业开始为社会创造巨大的价值,人们生活、工作的各个领域都已经离不开移动互联网。...

    人称T客
  • 调研:中国移动设备管理发展状况研究 金融行业移动化水平最高

    随着移动互联网的兴起,以PC为产业链的信息化产品,逐步向以移动端为产业链的产品迁移,企业管理向移动化倾斜已成发展的必然趋势,在过去的一年里,移动信息化市场可谓百...

    人称T客
  • 消费者云CSE微服务实践

    摘要 华为架构师李林锋分享华为消费云CSE的微服务实践。 华为消费者云业务简介 华为消费者云业务包括华为应用市场、华为视频、华为钱包、华为运动健康等服务,为华为...

    IT大咖说
  • 千万不要嫁给程序猿,我是认真的

    点击上方蓝色字体关注「顶级程序员」 千万不要嫁给程序猿, 因为程序猿的手机永远24小时保持开机,随时都可以向他抱怨、哭诉、查岗。 不小心成怨妇了,有木有? ? ...

    顶级程序员
  • 从业务变迁到研发犯难,微服务在Spring Cloud的实践之路

    摘要 本次演讲是由链家网基础架构部高级研发工程师刘思贤带来基于Spring Cloud的微服务实践经验分享。 ? 回到2015年 在2015年,我受朋友的邀请加...

    IT大咖说
  • 聊聊debezium的ElapsedTimeStrategy

    debezium-v1.1.1.Final/debezium-core/src/main/java/io/debezium/util/ElapsedTimeSt...

    codecraft

扫码关注云+社区

领取腾讯云代金券