Java后台开发规范

java后端开发规范.docx 1. 【强制】类名使用 UpperCamelCase 风格,必须遵从驼峰形式,但以下情形例外:DO / BO / DTO / VO / AO 正例:MarcoPolo / UserDO / XmlService / TcpUdpDeal / TaPromotion 反例:macroPolo / UserDo / XMLService / TCPUDPDeal / TAPromotion 2. 【强制】方法名、参数名、成员变量、局部变量都统一使用 lowerCamelCase 风格,必须遵从 驼峰形式。 正例: localValue / getHttpMessage() / inputUserI 立即下载

Java后台开发规范

1.Java编程规范

1.1.命名风格
  • 代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。

  • 类名使用 UpperCamelCase 风格,必须遵从驼峰形式,但以下情形例外:DO / BO / DTO / VO / AO

  • 接口类中的方法和属性不要加任何修饰符号,保持代码的简洁性,并加上有效的 Javadoc 注释。尽量不要在接口里定义变量,如果一定要定义变量,肯定是与接口方法相关,并且是整个应用的基础常量。

  • Service/DAO 层方法命名规约

    • 1) 获取单个对象的方法用 get 做前缀。
    • 2) 获取多个对象的方法 list 命名。
    • 3) 获取统计值的方法用 count 做前缀。
    • 3) 分页的方法用 page 做后缀。
    • 4) 插入的方法用 save 做前缀。
    • 5) 删除的方法用 delete 做前缀。
    • 6) 修改的方法用 update 做前缀。
  • 领域模型命名规约

    • 1) 数据传输对象:xxxDTO,xxx 为业务领域相关的名称。
    • 2) 展示对象:xxxVO,xxx 一般为实体名称。
    • 3) POJO 是 DO/DTO/BO/VO 的统称,禁止命名成 xxxPOJO
  • 分层领域模型规约

    • DO(Data Object):与数据库表结构一一对应,通过 DAO 层向上传输数据源对象。
    • DTO(Data Transfer Object):数据传输对象,Service 或 Manager 向外传输的对象。
    • BO(Business Object):业务对象。由 Service 层输出的封装业务逻辑的对象。
    • AO(ApplicationObject):应用对象。在Web层与Service层之间抽象的复用对象模型,极为贴近展示层,复用度不高。
    • VO(View Object):显示层对象,通常是 Web 向模板渲染引擎层传输的对象。
    • Query:数据查询对象,各层接收上层的查询请求。注意超过 2 个参数的查询封装,禁止使用 Map 类来传输。
1.2.代码格式化规范

每次编辑完一个类后使用idea的格式化功能,格式化代码和去掉无用导入的包,win快捷键为 Ctrl+Alt+l 和 Ctrl+Alt+o,Mac为ctrl+option+o 和 option+command+l。

项目的代码格式统一为UTF-8。

1.3.API命名规范

GET(SELECT):从服务器取出资源(一项或多项)。

POST(CREATE):在服务器新建一个资源。

PUT(UPDATE):在服务器更新完整的资源(客户端提供改变后的完整资源)。

DELETE(DELETE):从服务器删除资源。

基本规范

  • 使用’/'表示层级关系
  • url 不能以’/'结尾
  • url 中不能包含空格
  • url 中不能以文件后缀结尾
  • url 中字母小写,单词间加下划线
  • 不要再url中添加CRUD
说明ActionNameHttpMappingHttpRequestBodyHttpResponseBody
查询所有listGET /v1/user/list?xx=xxN/AResource* list
获取单个资源queryGET /v1/user/1N/AResource*
创建单个资源createPOST /v1/user/createResourceResource*
更新单个资源updatePUT /v1/user/updateResourceResource*
删除单个资源deleteDELETE /v1/user/deleteN/Empty
分页条件查询pageGET /v1/user/page?page=0&size=10N/AResource
批量添加batchCreatePOST /batch_createResource* listResource IDS
批量删除batchDeletePOST /batch_deleteResource IDSEmpty
更新用户的年龄updateAgePOST /v1/user/1/age?value=20N/A{“key”:“age”,“value”:“20”}
1.4.异常处理规范
  • 异常不要用来做流程控制,条件控制,因为异常的处理效率比条件分支低。

  • 对大段代码进行 try-catch,这是不负责任的表现。catch 时请分清稳定代码和非稳 定代码,稳定代码指的是无论如何不会出错的代码。对于非稳定代码的 catch 尽可能进行区分 异常类型,再做对应的异常处理。

  • 捕获异常是为了处理它,不要捕获了却什么都不处理而抛弃之,如果不想处理它,请 将该异常抛给它的调用者。最外层的业务使用者,必须处理异常,将其转化为用户可以理解的 内容。

  • 有 try 块放到了事务代码中,catch 异常后,如果需要回滚事务,一定要注意手动回 滚事务。

  • finally 块必须对资源对象、流对象进行关闭,有异常也要做 try-catch。

  • 不能在 finally 块中使用 return,finally 块中的 return 返回后方法结束执行,不 会再执行 try 块中的 return 语句。

  • 方法的返回值可以为 null,不强制返回空集合,或者空对象等,必须添加注释充分 说明什么情况下会返回 null 值。调用方需要进行 null 判断防止 NPE 问题。

1.5.模块化开发规范

模块化开发是指公司共有的基础模块的开发如:短信、权限、支付、公共工具、邮件等。

模块化开发的pom模版


<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.domain.module</groupId>
    <artifactId>domain-module</artifactId>
    <version>1.0.0.RELEASE</version>

    <dependencies>
        <dependency>
            <groupId>org.apache.shiro</groupId>
            <artifactId>shiro-spring</artifactId>
            <version>1.4.0</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.7.0</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <distributionManagement>
        <repository>
            <id>releases</id>
            <name>Nexus release Repository</name>
            <url>http://192.168.0.110:8081/repository/maven-releases/</url>
        </repository>

        <snapshotRepository>
            <id>snapshots</id>
            <name>Nexus snapshots Repository</name>
            <url>http://192.168.0.110:8081/repository/maven-snapshots/</url>
        </snapshotRepository>
    </distributionManagement>

</project>

  • 模块化定义 GAV 遵从以下规则:

    • GroupID格式:com.{域名}.业务线.[子业务线],最多4级。
    • ArtifactID格式:产品线名-模块名。语义不重复不遗漏,先到中央仓库去查证一下。
  • 模块化命名方式:主版本号.次版本号.修订号

    • 主版本号:产品方向改变,或者大规模API不兼容,或者架构不兼容升级。
    • 次版本号:保持相对兼容性,增加主要功能特性,影响范围极小的API不兼容修改。 3) 修订号:保持完全兼容性,修复BUG、新增次要功能特性等。

2.前后端对接规范

  • 后端返回格式统一为json格式数据。
{"code":20000,"message":"success","data":null}
  • 后端返回的code字段,以4开头则为前端请求有误,以5开头则是后端接口问题。2开头则表示成功。

  • 后端返回的message字段表示请求的信息,成功是success,错误则会提示相应的异常信息或返回error。

  • 后端返回的data字段则是本次请求的数据,无数据则返回null。

  • 后端返回的时间格式统一为时间戳

3.数据库设计规范

3.1.建表规约
  • 表名、字段名必须使用小写字母或数字,禁止出现数字开头,禁止两个下划线中间只出现数字。数据库字段名的修改代价很大,因为无法进行预发布,所以字段名称需要慎重考虑。

  • 表达是与否概念的字段,必须使用 is_xxx 的方式命名,数据类型是 tinyint (1表示是,0表示否)。

  • 表名不使用复数名词。

  • 禁用保留字,如 desc、range、match、delayed 等,请参考 MySQL 官方保留字。

  • 主键索引名为 pk_字段名;唯一索引名为 uk_字段名;普通索引名则为 idx_字段名。

  • 小数类型为 decimal,禁止使用 float 和 double。

  • 如果存储的字符串长度几乎相等,使用 char 定长字符串类型。

  • varchar 是可变长字符串,不预先分配存储空间,长度不要超过 5000,如果存储长 度大于此值,定义字段类型为 text,独立出来一张表,用主键来对应,避免影响其它字段索 引效率。

  • 表必备三字段:id, gmt_create, gmt_modified。

  • 表的命名最好是加上"业务名称_表的作用"。

  • 库名与应用名称尽量一致。

  • 单表行数超过 500 万行或者单表容量超过 2GB,才推荐进行分库分表。

3.2.索引规约
  • 业务上具有唯一特性的字段,即使是多个字段的组合,也必须建成唯一索引。

  • 超过三个表禁止 join。需要 join 的字段,数据类型必须绝对一致;多表关联查询时,保证被关联的字段需要有索引。

  • 在 varchar 字段上建立索引时,必须指定索引长度,没必要对全字段建立索引,根据实际文本区分度决定索引长度即可。

  • 如果有 order by 的场景,请注意利用索引的有序性。order by 最后的字段是组合索引的一部分,并且放在索引组合顺序的最后,避免出现 file_sort 的情况,影响查询性能。

  • 利用覆盖索引来进行查询操作,避免回表。

  • SQL 性能优化的目标:至少要达到 range 级别,要求是 ref 级别,如果可以是 consts 最好。

  • 建组合索引的时候,区分度最高的在最左边。

3.3.SQL 语句
  • 不要使用 count(列名)或 count(常量)来替代 count(),count()是 SQL92 定义的 标准统计行数的语法,跟数据库无关,跟 NULL 和非 NULL 无关。

  • count(distinct col) 计算该列除 NULL 之外的不重复行数,注意 count(distinct col1, col2) 如果其中一列全为NULL,那么即使另一列有不同的值,也返回为0。

  • 当某一列的值全是 NULL 时,count(col)的返回结果为 0,但 sum(col)的返回结果为 NULL,因此使用 sum()时需注意 NPE 问题。

  • 使用 ISNULL()来判断是否为 NULL 值。

  • 在代码中写分页查询逻辑时,若 count 为 0 应直接返回,避免执行后面的分页语句。

  • 不得使用外键与级联,一切外键概念必须在应用层解决。

  • 禁止使用存储过程,存储过程难以调试和扩展,更没有移植性。

  • 数据订正时,删除和修改记录时,要先 select,避免出现误删除,确认无误才能执行更新语句。

  • in 操作能避免则避免,若实在避免不了,需要仔细评估 in 后边的集合元素数量,控制在 1000 个之内

  • 如果有全球化需要,所有的字符存储与表示,均以 utf-8 编码,注意字符统计函数的区别。

  • TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少,但 TRUNCATE 无事务且不触发 trigger,有可能造成事故,故不建议在开发代码中使用此语句。

3.4.ORM 映射
  • 在表查询中,一律不要使用 * 作为查询的字段列表,需要哪些字段必须明确写明。

  • POJO 类的布尔属性不能加 is,而数据库字段必须加 is_,要求在 resultMap 中进行 字段与属性之间的映射。

  • 不要用 resultClass 当返回参数,即使所有类属性名与数据库字段一一对应,也需 要定义;反过来,每一个表也必然有一个与之对应。

  • sql.xml 配置参数使用:#{},#param# 不要使用${} 此种方式容易出现 SQL 注入。

  • 不允许直接拿 HashMap 与 Hashtable 作为查询结果集的输出。

  • 更新数据表记录时,必须同时更新记录对应的 gmt_modified 字段值为当前时间。

  • 不要写一个大而全的数据更新接口。传入为 POJO 类,不管是不是自己的目标更新字 段,都进行 update table set c1=value1,c2=value2,c3=value3; 这是不对的。执行 SQL 时,不要更新无改动的字段,一是易出错;二是效率低;三是增加 binlog 存储。

  • @Transactional 事务不要滥用。事务会影响数据库的 QPS,另外使用事务的地方需 要考虑各方面的回滚方案,包括缓存回滚、搜索引擎回滚、消息补偿、统计修正等。

4.服务部署规范

  • 在线上生产环境,JVM的Xms和Xmx设置一样大小的内存容量,避免在GC 后调整堆 大小带来的压力。

  • 给 JVM 设置-XX:+HeapDumpOnOutOfMemoryError 参数,让 JVM 碰到 OOM 场景时输出 dump 信息。

参考:阿里巴巴Java开发手册

Zabbix监控网络设备讲解 Zabbix监控网络设备讲解 本人在研究学习zabbix的时候,网上找过很多如何监控路由,交换,或者是防火墙的文章,但很多都比较散,这里我出一个大概的整合,方便大家参考和学习。本章就拿华三的交换机来做文章。 监控网络设备首先我们需要开启snmp协议,华三怎么开启snmp协议在我的博客里有写到,其次就是找到版本对应的OID,zabbix就是通过抓取设备的OID来做到监控网络设备的,当然zabbix也不仅仅只有通过snmp来监控设备,还有很多别的功能,这些功能我会在以后的博客里面一一更新 文章目录Zab 阅读详情

相关推荐

【数据库】SQL Server 2008 R2 安装全流程详解与常见问题避坑指南

本文详细解析了SQL Server 2008 R2的完整安装流程与核心配置。从安装前的系统兼容性检查、.NET Framework依赖准备,到图文详解实例配置、混合身份验证模式设置等关键步骤,并提供了安装失败、服务无法启动等高频问题的排查与避坑指南,帮助用户顺利完成部署。

java5的博客 1242

编码规范1 - 命名风格

【强制】 代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美 元符号结束。 反例:_name / __name / $name / name_ / name$ / name__ 解释:有很多开源代码是下划线开头,比如我们要讲的 eureka 源码中,我们可以不吸收这种风格。因为 python 下划线开头是内部变量,此规定是让其他语言转过来的开发者更容易理解。 【强制】 代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。 说明:正确的英文拼写和语法可以让阅读者易于理解,避免歧义.

技术尖刀的博客 668

从模态到颤振:深入解读Nastran的V-g/V-f图,判断你的机翼设计是否安全

本文深入解析Nastran中的V-g/V-f图在机翼颤振分析中的应用,帮助工程师准确判断设计安全性。通过模态分析到颤振边界的完整判读逻辑,结合气动弹性特性,指导优化机翼结构设计,确保飞行安全。

weixin_28732953的博客 471

Java代码规范之编程规约

一、命名风格 代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束 所有编程相关的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式 类名使用UpperCamelCase风格,但以下情形例外:DO / BO / DTO / VO / AO / PO / UID等 方法名、参数名、成员变量、局部变量都统一使用lowerCamelCase风格 常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长 抽象类命名使用Abstract或Base开头;异常类命名使用Exc

zengxingyuluo的博客 720

【移远EG800K-CN】从AT指令到MQTT实战:4G模块云端通信全解析

本文详细解析移远EG800K-CN 4G模块的AT指令应用与MQTT云端通信实战。从硬件连接到网络配置,再到MQTT协议的数据上报与命令接收,提供了完整的物联网通信解决方案,帮助开发者快速实现设备与云端的稳定数据交互。

o1p2q3r的博客 559

RK3588交叉编译实战:从环境搭建到程序部署

本文详细介绍了在X86主机上为RK3588开发板搭建交叉编译环境的完整流程。从获取ARM工具链、配置sysroot,到实战编译Hello World和Qt应用程序,并提供了部署方法和常见问题解决方案。通过交叉编译,开发者可以在高性能PC上高效开发,并在ARM架构的RK3588上运行程序,大幅提升嵌入式开发效率。

weixin_29191669的博客 274

java开发种规范全集

最近在公司没事,整理了一些开发规范

SkyinEast的博客 3284

RK3568平台(USB篇)USB Gadget 驱动

USB 设备驱动,按照设备端关联的 USB 控制器 是工作在 主模式 还是 从模式,分为 USB 设备主机侧驱动 (主模式),或者 USB 设备从机侧驱动 (从模式)。同时,工作在 主模式 的 USB 控制器,称为 USB 主机控制器 (UHC: USB Host Controller),工作在 从模式 的 USB 控制器,称为 USB 设备控制器 (UDC: USB Device Controller)。有的 USB 控制器,只能工作在 主模式 或 从模式 中的某一种;

weixin_49303682的博客 1438

Java开发常规规范

在 IDE 中,工程调用方法时,不进入方法即可悬浮提示方法、参数、返回值的意义,提高阅读效率。1、 【强制】不要使用 count(列名)或 count(常量)来替代 count(*),count(*)是 SQL92 定义的标 准统计行数的语法,跟数据库无关,跟 NULL 和非 NULL 无关。6、 【强制】varchar 是可变长字符串,不预先分配存储空间,长度不要超过 5000,如果存储长度 大于此值,定义字段类型为 text,独立出来一张表,用主键来对应,避免影响其它字段索引效 率。

码叔2004博客 3170

PHP实现SM2算法(附完整源码)

PHP实现SM2算法(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 4025

2026华为OD机考双机位C卷++ 双机位B卷 + 双机位A卷 + 2025C/B/A卷+ 往年真题 - 题库目录分值说明 + 考点说明+在线OJ

2025华为OD机考双机位C卷++ 双机位B卷 + 双机位A卷 + 2025C/B/A卷+ 往年真题 - 题库目录分值说明 + 考点说明+在线OJ

算法大师! 5万+

java 前后端分包命名_前后端命名最佳实践

命名规范最佳实践命名是个困扰了我很久的问题,各种方式都试过,现在总结固化一下作为一个大结论。原则:优先考虑小写、下划线,不用中划线。1. 文件夹 小写 下划线2. 文件名 小写 下划线3. 样式名 小写 下划线4. 类名 首字母大写 驼峰5. 函数名 驼峰6. 变量名 驼峰7. 常量名 全大写 下划线8. 数据库名 小写 下划线9. 数据库表 小写 下划线10. 字段名 小写 下划线原因分析用小写...

weixin_39684228的博客 1010

自定义载板RK3588HDMI输入配置完整解决方案

✅ HDMI输入信号检测✅ 自动时序识别(支持1080p@60Hz等标准格式)✅ V4L2视频设备接口✅ 实时视频流捕获✅ H.264编码录制✅ HDCP内容保护支持问题根因识别:发现了hdmim1模块资源冲突的本质问题硬件设计理解:明确了Orange Pi 5 Plus的真实硬件设计意图功能实现:成功启用HDMI输入功能,替代了无法使用的HDMI1输出完整验证:建立了从硬件检测到视频录制的完整测试流程。

梁俊星的博客 1271

Java后台项目开发规范

Java后台项目开发规范1、目标2、 原则1、包命名规范2.1==如果在模块或者接口,类,方法中使用了设计模式,要在命名的时候体现出来。==2.2 对于任何类而言,只要重写了equals就必须重写hashcode二、注释规范1、说明2、关键点注释4、空格的使用6、习惯写在后边 ##写在前边 1、目标 项目以功能模块来划分分工 数据库不能随意修改,本地数据库须统一 有标准的Java代码风格,有良好习惯 时刻考虑代码的可复用性 每个人需要有每周项目进度报告 2、 原则 ​ 标识符的命名力求做到统一、达意和

sinat_34863938的博客 1465

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

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

这个手册的内容很丰富,但是呢篇幅太长,很多人都记不住,那么怎么办呢?全局变量:***Global 例如:userNameGlobal。表示数量: ***Num 例如: userTotalNum。Map类型: ***Map 例如:userByIdMap。List类型:***List 例如:userList。跨模块,接口调用不允许直接传DO,需要封装成Dto。单机事务必须加上@Transactional注解。Set类型: ***Set 例如:userSet。表示判断: iz**** 例如:izLeader。

程序员朱永胜 232

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

java+bizx文件_14.Teambiz后台开发规范

IBM GDC DLTeambiz后台开发规范(2012年3月9日修订版)撰写:何杨2012年3月9日1. 包的命名包名应全由小写单词组成,如com.dalpha.common.gui,com.dalpha.biz.supply2. 接口的命名Java接口采用统一的前缀I,如IService.java3. 接口实现类的定义接口实现类建议采用统一的后缀Impl,如:ServiceImpl4. 抽象类...

weixin_29496633的博客 1079

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

【Java后台开发规范】--- 线程与并发

文章目录前言其他类型的规范线程池线程安全时间数值集合MapListSet线程并发分段锁随机数ConcurrentHashMap读写锁ReentrantReadWriteLock写时复制CopyOnWriteArrayList伪共享ThreadLoad 前言 做Java开发的,大多数可能都有看过阿里的Java后台开发手册,里面有关于Java后台开发规范的一些内容,基本覆盖了一些通用、普适的规范,但大多数都讲的比较简洁,本文主要会用更多的案例来对一些规范进行解释,以及结合自己的经验做补充! 其他类型的规范 【J

自律使我自由 1585

【Java后台开发规范】--- Null值处理

文章目录前言其他类型的规范常见的Null值处理字符串ObjectsMap的处理Optional 前言 做Java开发的,大多数可能都有看过阿里的Java后台开发手册,里面有关于Java后台开发规范的一些内容,基本覆盖了一些通用、普适的规范,但大多数都讲的比较简洁,本文主要会用更多的案例来对一些规范进行解释,以及结合自己的经验做补充! 其他类型的规范 【Java后台开发规范】— 不简单的命名 【Java后台开发规范】— 日志的输出 【Java后台开发规范】— 线程与并发 【Java后台开发规范】— 长函数、长

自律使我自由 2798

【Java后台开发规范】--- 不简单的命名

文章目录前言命名有意义的命名随意的简化命名命名统一类的命名头疼的英语 前言 做Java开发的,大多数可能都有看过阿里的Java后台开发手册,里面有关于Java后台开发规范的一些内容,基本覆盖了一些通用、普适的规范,但大多数都讲的比较简洁,本文主要会用更多的案例来对一些规范进行解释,以及结合自己的经验做补充! 命名 大家都是有经验的开发了,一些特别基本的命名规范还是了解的,比如驼峰、常量大写用下划线分割等等,所以我这里说的命名主要是强调如何才能做到见名知意,让命名更加有意义,让命名能让开发甚至业务一眼就能看懂

自律使我自由 1610

java web后台开发规范01

java web后台开发规范01 (1)相同的代码不要重复出现 红框中的代码完全相同,所以应该抽取出来作为一个方法 (2)相同的逻辑不要重复出现 原先,有3个地方出现resCode == 200 || resCode == 201, 所以应该把这个逻辑单独抽取出来作为一个方法 重复的逻辑在多处出现,容易造成不一致 解决方...

weixin_34212189的博客 200

【Java后台开发规范】--- 日志的输出

文章目录前言其他类型的规范日志输出过多日志无脑打印批量打印日志中带方法讲故事其他基本要求 前言 做Java开发的,大多数可能都有看过阿里的Java后台开发手册,里面有关于Java后台开发规范的一些内容,基本覆盖了一些通用、普适的规范,但大多数都讲的比较简洁,本文主要会用更多的案例来对一些规范进行解释,以及结合自己的经验做补充! 其他类型的规范 【Java后台开发规范】— 不简单的命名 日志输出 关于日志方面的规范其实并不多,也没那么重要,毕竟日志打印这个行为很简单,很单纯,阿里开发手册上有两条关于日志的强制

自律使我自由 4116

JAVA 后台开发规范

本篇规范基于阿里巴巴、华为的开发手册。感谢前人的经验和付出,让我们可以有机会站在巨人的肩膀上眺望星辰大海。 规范不是为了约束和禁锢大家的创造力,而是为了帮助大家能够在正确的道路上,尽可能的避免踩坑和跑偏。 规范可以让我们无论单枪匹马还是与众人同行的时候都能得心应手。 规范可以让我们在面对日益变态的需求和做代码接盘侠的时候,更优雅从容。 规则并不是完美的,通过约束和禁止在特定情况下的特性,可能会对代码实现造成影响。 但是制定规则的目的:为了得到更多的好处,如果在团队实际运作中认为某个规则无法遵循或有更好的..

on the way . . . 1416

【Java后台开发规范】--- 异常的处理

正确的处理异常

自律使我自由 1192

【Java后台开发规范】--- 设计原则

文章目录前言其他类型的规范设计原则单一职责开闭原则里式替换原则接口隔离原则依赖倒置原则迪米特法则DRY原则KISS原则总结 前言 做Java开发的,大多数可能都有看过阿里的Java后台开发手册,里面有关于Java后台开发规范的一些内容,基本覆盖了一些通用、普适的规范,但大多数都讲的比较简洁,本文主要会用更多的案例来对一些规范进行解释,以及结合自己的经验做补充! 其他类型的规范 【Java后台开发规范】— 不简单的命名 【Java后台开发规范】—日志的输出 【Java后台开发规范】—线程与并发 【Java后台

自律使我自由 1612

Java 开发规范 - 关于后台接口参数接收与校验

文章目录1 摘要2 几种后台接口参数接收方案2.1 使用 map 作为参数接收对象2.2 统一使用实体类接收2.3 每一个接口使用一个与之对应的参数接收对象3 接口参数接收与校验推荐示例3.1 接口请求参数对象3.2 Controller 层的参数校验 ​ ​ ​ 1 摘要 在前后端分离的大前提下,Java 后台接口请求参数规范在项目开发过程中就变得非常重要。前端开发需要根据接口文档来对接调试,后台开发也能够根据快速定位接口所需的参数,尤其是在新接手项目的时候。问题排查、项目架构调整等等都需要明确知晓每一个

Mrqiang9001 4051

阿里java开发规范_面经:阿里Java后台开发

最近原来实习时候的Boss联系我,说他跳槽到了阿里,问我有没有兴趣面一个Java后台开发岗位。考虑到我只工作了一年,现在去阿里肯定要降薪,因此也没有太强烈的意愿。但出于提升自我的角度考虑,参加了面试。一面(电话面试一小时)首先做一个简单的自我介绍,主要包括学校经历和工作经历。我工作经历只有一年,大部分时间都是在做产品设计和UI/UX Design,因此隔着电话都能感受到面试官的shock。Java...

weixin_39526872的博客 235
上一篇: MySQL Structured Query Language
下一篇: Mac 环境 Hadoop 提交 job 报错 /bin/bash: /bin/java: No such file or directory
exklin
博客等级 码龄9年 35粉丝 68原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值