【开发规范系列】(二):Java后台开发规范

这篇具有很好参考价值的文章主要介绍了【开发规范系列】(二):Java后台开发规范。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


首发博客地址

https://blog.zysicyj.top/

前言

提到Java开发规范,那么大家能想到的基本就是阿里巴巴Java开发手册,这个手册的内容很丰富,但是呢篇幅太长,很多人都记不住,那么怎么办呢?好在阿里巴巴提供了代码扫描插件,方便我们开发时发现问题并及时修改。

如何使用该插件?

参考这篇文章:【插件】Java开发规范配套Idea阿里巴巴代码扫描

手册内容

{% pdf /static/pdf/Java开发手册(黄山版).pdf %}

项目统一规约

  • 工具类统一使用Hutool,非必要不要自定义工具类
  • controller返回的每个实体需要新建一个Vo封装
  • controller接受的参数统一使用Param封装
  • Do类不允许添加额外字段
  • 业务之间传输使用Dto类封装
  • 跨模块,接口调用不允许直接传DO,需要封装成Dto
  • 单机事务必须加上@Transactional注解
  • 分布式事务必须加上@Seata注解
  • 统一使用Mybatis语法,不要使用JPA
  • ID统一使用Leaf雪花算法获取
  • 参数传递使用POJO传递,尽量不要使用Map
  • 方法参数超出屏幕宽度(一般3到5个)封装成对象接收
  • 方法命名规则
    • 删除:del***
    • 更新:update***
    • 添加:insert***
    • 单个查询:select***
    • 批量查询:list***
    • 分页:page***
    • 导出:export***
    • 导入:import***
    • 返回布尔值的方法:iz***
    • 校验:check***
    • 填充:fill***
  • 类名命名规则
    • 拦截器:***Handler
    • 过滤器:***Filter
    • 枚举:***Enum
    • 常量:***Constant
    • 监听器:***Listener
    • 配置类:***Config
  • 变量命名规则(全部驼峰)
    • 静态常量:大写,下划线分隔 例如: USER_NAME_GLOBAL
    • 局部常量:大写,下划线分隔 例如:USER_NAME
    • 全局变量:***Global 例如:userNameGlobal
    • List类型:***List 例如:userList
    • Map类型: ***Map 例如:userByIdMap
    • Set类型: ***Set 例如:userSet
    • 表示数量: ***Num 例如: userTotalNum
    • 表示判断: iz**** 例如:izLeader

建议阅读文章

如何使用校验

【hibernate validator】(二)声明和验证Bean约束 【hibernate validator】(三)声明和验证方法约束 【hibernate validator】(四)内插约束错误消息 【hibernate validator】(五)分组约束 【hibernate validator】(六)创建自定义约束

开发规范

  1. MySQL开发规范

  2. 后台开发规范

  3. 前端开发规范

  4. 代码提交规范

本文由 mdnice 多平台发布文章来源地址https://www.toymoban.com/news/detail-692918.html

到了这里,关于【开发规范系列】(二):Java后台开发规范的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java开发规范记录

    不要使用 count(column) 或 count(1) 来替代 count(*) , count(*) 是 SQL92 定义的 标准统计行数的语法,跟数据库无关,跟 NULL 和非 NULL 无关。 注意:count(*)会统计值为 NULL 的行,而 count(列名)不会统计此列为 NULL 值的行。 当某一列的值全是 NULL 时, count(column) 的返回结果为 0,但 sum(

    2024年02月07日
    浏览(46)
  • 阿里开发手册规范(JAVA)

    目录 一、编程规约  (一) 命名规范 (二) 常量定义 (三) 代码格式  (四) OOP规约 (五) 日期时间 (六) 集合处理  (七) 并发处理 (八) 控制语句 (九) 注释规约 (十) 前后端规约 二、异常日志  (一) 错误码 (二) 异常处理 (三) 日志规约  三、单元测试  四、安全规约 五、MySQL数据库 

    2024年02月01日
    浏览(41)
  • 干翻Dubbo系列第十五篇:Rest协议基于SpringBoot的规范化开发

    文章目录 一:Rest协议 1:协议概念 2:协议作用 二:搭建开发环境 1:父项目里边引入的新的版本内容 2:Api中的操作 3:Provider模块 4:Consumer模块 三:编码 1:API模块 2:Provider模块 3:Consumer模块         Rest协议就是我们我们一开始基于SpringBoot或者是SpringMVC开发说的Re

    2024年02月10日
    浏览(49)
  • 阿里巴巴_java开发规范手册详解

    反例: _name, $name, __name 说明:正确的英文拼写和语法可以让阅读者易于理解,避免歧义。注意,纯拼音命名方式更要避免采用。 正例:renminbi / alibaba / taobao / youku / hangzhou 等国际通用的名称,可视同英文。 反例:DaZhePromotion [打折] / getPingfenByName() [评分] / int 某变量 = 3 正例:

    2024年02月06日
    浏览(44)
  • 【后端开发】01-Java基础语法

    Java基础语法 目录 1. 概述 1.1. 语言特性 1.2. 开发平台 1.3. 开发环境 1.4. 开发步骤 1.5. 注释 2. 变量与运算符 2.1. /保留字 2.2. 标识符 2.3. 变量 2.4. 常用数据类型 2.4.1. 基本数据类型(8种) 2.4.2. 引用数据类型 2.4.3. 数据类型转换 2.5. 运算符 2.5.1. 算术运算符(7个) 2.5.2. 关

    2024年02月08日
    浏览(35)
  • Java后端开发——Mybatis实验

    1.创建工程 在Eclipse中,创建名称为mybatis的工程 2.引入相关依赖 3.数据库准备 4.编写数据库连接信息配置文件 在项目的src目录下创建数据库连接的配置文件,这里将其命名为db.properties,在该文件中配置数据库连接的参数。 5.创建POJO实体 在项目的src/main/java目录下创建com.java

    2024年01月24日
    浏览(48)
  • Java后端开发面试题——框架篇

    Spring框架中的bean是单例的吗?Spring框架中的单例bean是线程安全的吗? singleton : bean在每个Spring IOC容器中只有一个实例。 prototype:一个bean的定义可以有多个实例。 Spring bean并没有可变的状态(比如Service类和DAO类),所以在某种程度上说Spring的单例bean是线程安全的 如果在bean中定

    2024年02月12日
    浏览(42)
  • java后端开发环境搭建 mac

    在mac pro上搭建一套java 后端开发环境,主要安装的内容有:jdk、maven、git、tomcat、mysql、navicat、IntelliJ、redis。 本人mac pro的系统为mac OS Monterey 12.6.7,主机的硬件架构为x86_64。 左上角关于本机查看系统版本;终端上输入 查看机器架构: 下载官网:Java Downloads | Oracle 中国 安装步

    2024年02月15日
    浏览(41)
  • Java后端开发面试题——多线程

    创建线程的方式有哪些? 继承Thread类 实现runnable接口 实现Callable接口 线程池创建线程 runnable 和 callable 有什么区别? Runnable 接口run方法没有返回值 Callable接口call方法有返回值,是个泛型,和Future、FutureTask配合可以用来获取异步执行的结果 Callable接口的call()方法允许抛出异常

    2024年02月10日
    浏览(34)
  • Java后端开发面试题——消息中间篇

    RabbitMQ-如何保证消息不丢失 交换机持久化: 队列持久化: 消息持久化 ,SpringAMQP中的的消息默认是持久的,可以通过MessageProperties中的DeliveryMode来指定的  消费者确认 manual:手动ack,需要在业务代码结束后,调用api发送ack。 auto:自动ack,由spring监测listener代码是否出现异常

    2024年02月11日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包