说起嵩山,我就想起乔峰,想起慕容复,以及他们两位老爹在少林寺大战的场景。当然了,最令我印象深刻的就是那位默默无闻,却一鸣惊人的扫地僧啊。这次,阿里出品的嵩山版 Java 开发手册的封面就有一个扫地僧,唉,这就厉害了呀!

嵩山少林寺位于河南省登封市,始建于北魏太和十九年,号称“天下第一名刹”。这意味着什么?阿里出品的嵩山版 Java 开发手册,是迄今为止最重量级的。

上个版本叫泰山版,更新于 2020 年 4 月 22 号,版本出来的第一时间,我就给大家分享了。我相信,看过的小伙伴一定大有所获。毕竟《阿里巴巴 Java 开发手册》这本小册子虽然只有几十页,但讲的主要是一些典型的开发规约、编程规范、以及最佳实践,已经成为业界普遍遵循的开发规范。

那新版主要更新了哪些内容呢?我来挑一些重点,和大家分享下。

01、新增前后端规约 14 条

前后端我都开发过,所以就挑一些我认为比较关键的规约来给大家推荐一下。好的规约能够让前后端工程师在开发的过程中减少很多不必要的麻烦,毕竟现在都追求前后端分离,接口对接的过程中就必须得有一定的规则遵守,不然扯起皮了就不妙了。

  • 前后端交互的 API,需要明确协议、域名、路径、请求方式、请求内容、状态码、响应体。

  • 前后端数据列表相关的接口,如果为空,就是没有数据的时候,应该返回空数组 [] 或者空集合 {},这样可以省去判 null 的操作。

  • 服务端发生错误时,返回给前端的响应信息必须包含 HTTP 状态码,errorCode、 errorMessage(方便追踪错误)、用户提示信息四个部分。

  • 涉及到超大整数的场景,服务端应该使用 String 类型返回,避免使用 Long。

  • 服务端返回的数据,尽量使用 JSON 而非 XML 格式。

02、新增禁止任何歧视性用语的约定

虽然互联网越来越开放,但有些用语还是要注意一下(尽量和谐)。记得之前 MySQL 的一些关键字都被迫做了调整。

03、新增涉及敏感操作的情况下日志需要保存六个月的约定

涉及到法律的地方还是在开发的时候注意一下。

04、修正 BigDecimal 类中关于 compareTo 和 equals 的等值比较

关于这一点,我之前在文章里详细地阐述了,浮点数之间的比较不能使用“==”操作符,而 BigDecimal 之间不能使用 equals() 比较。

我去,脸皮厚啊,竟然使用==比较浮点数?

05、修正 HashMap 关于 1024 个元素扩容的次数

泰山版说是扩容 7 次。

嵩山版修正为扩容 8 次。

06、修正架构分层规范与相关说明

泰山版的应用分层如下图所示。

嵩山版的应用分层修改为如下图所示。

07、最后

如果你想成为一名优秀的 Java 工程师,那么这份手册上的内容几乎是必须要掌握的。是不是已经迫不及待想要下载这份手册了?

微信搜索「沉默王二」回复「手册」就可以免费获取了,当然你也可以扫描下面的二维码后回复,赶紧赶紧。

最后,我衷心地祝福你,希望你能学有所成,to be better,奥利给!

阿里出品的最新版 Java 开发手册,嵩山版,扫地僧的更多相关文章

  1. 阿里巴巴java开发手册-嵩山版 下载

    引言 今天阿里巴巴开发手册嵩山版又发布了,距离上次泰山版发布才仅仅几个月.是不是有的同学又要感叹下这速度也太快了点吧.我泰山版还没看完,嵩山版直接来了.没看完不要紧,我们直接看嵩山版本就好了.一次性把 ...

  2. 阿里官方Java代码规范标准《阿里巴巴Java开发手册 终极版 v1.3.0》

    终极版 v1.3.0 2017年开春之际,阿里诚意献上重磅大礼:<阿里巴巴Java开发手册>,首次公开阿里官方Java代码规范标准.这套Java统一规范标准将有助于提高行业编码规范化水平, ...

  3. 阿里巴巴java开发手册-泰山版 下载

    最近,阿里的<Java开发手册>又更新了,这个版本历经一年的修炼,取名:<Java开发手册(泰山版)>正式出道.正所谓无规矩不成方圆,在程序员的世界里,也存在很多规范,阿里出版 ...

  4. 阿里巴巴Java开发手册公开版(转)

    1.不要嫌名字长 无论是方法,变量,还是函数的取名,不要嫌弃名称太长,只要能够表示清楚含义就可以了. 2.String[] args而不是String args[] 中括号是数组类型的一部分,数组定义 ...

  5. Java基础学习总结(91)——阿里巴巴Java开发手册公开版

    1.不要嫌名字长 无论是方法,变量,还是函数的取名,不要嫌弃名称太长,只要能够表示清楚含义就可以了. 2.String[] args而不是String args[] 中括号是数组类型的一部分,数组定义 ...

  6. 阅读阿里Java开发手册记录

    概述 在阅读完阿里Java开发手册(嵩山版)后,发现自己在开发过程中有一些没有按照规范开发的情况,这里将容易忘记的规范记录下来,并且添加自己的理解,一方面方便自己巩固记忆,另一方面希望对其他同学能够提 ...

  7. 《新版阿里巴巴Java开发手册》提到的三目运算符的空指针问题到底是个怎么回事?

    最近,阿里巴巴Java开发手册发布了最新版--泰山版,这个名字起的不错,一览众山小. 新版新增了30+规约,其中有一条规约引起了作者的关注,那就是手册中提到在三目运算符使用过程中,需要注意自动拆箱导致 ...

  8. 阿里巴巴 Java 开发手册评述

    http://blog.jobbole.com/110427 阿里巴巴Java开发手册(终极版)https://pan.baidu.com/s/1c1UQM7Q 阿里巴巴Java开发规约插件p3cGi ...

  9. 2019.05.26 周日--《阿里巴巴 Java 开发手册》精华摘要

    一.写在开头 Java作为一个编程界最流行的语言之一,有着很强的生命力.代码的编写规范也是不容忽视的,今天,我就把自己阅读的国内的互联网巨头阿里巴巴的<阿里巴巴 Java 开发手册>一些精 ...

随机推荐

  1. Kubernetes实战指南(三十一):零宕机无缝迁移Spring Cloud至k8s

    1. 项目迁移背景 1.1 为什么要在"太岁"上动土? 目前公司的测试环境.UAT环境.生产环境均已经使用k8s进行维护管理,大部分项目均已完成容器化,并且已经在线上平稳运行许久. ...

  2. spring security简单登录的认证

    一.思路 1.先导入相关配置(使用spring security校验之后,登录拦截的配置) 2.创建一个 WebSecurityConfig 继承 WebSecurityConfigurerAdapt ...

  3. vscode安装rainbow-fart(彩虹屁)插件,程序员只能自我鼓励了!!!

    2020-7-10更新 Rainbow Fart 插件现以发布到 VSCode 商店,安装过 VSIX 版本的用户请卸载之前的版本,从商店安装. 从 VSCode 扩展商店 下载并安装.(更新vsco ...

  4. webpack源码-loader的原理

    版本 webpack :"version": "3.12.0", webpack配置中的loaders配置是如何传递的 webpack/lib/NormalMo ...

  5. 高效C++:实现

    本章主要是解决如下问题: 类的声明和定义在什么时候提出 类与类之间的耦合关系如何降低 类型转换怎么正确使用 尽可能延后变量定义式的出现 变量用到时在定义,不要提前定义,防止变量定义而没有使用的情况,因 ...

  6. 【Kafka】Kafka测试时控制台日志级别修改

    在学习Kafka客户端时日志打的飞起,根本看不到自己发的消息,找了半天网上竟然没有这方面的资料.想了下依赖关系,这里应该只要把slf4j的日志级别调整应该就ok了. static { LoggerCo ...

  7. 题解 CF938G 【Shortest Path Queries】

    题目让我们维护一个连通无向图,边有边权,支持加边删边和询问从\(x\)到\(y\)的异或最短路. 考虑到有删边这样的撤销操作,那么用线段树分治来实现,用线段树来维护询问的时间轴. 将每一条边的出现时间 ...

  8. Mysql的复制原理以及流程

    MySQL复制概述 简单来说就是保证主服务器(Master)和从服务器(Slave)的数据是一致性的,向Master插入数据后,Slave会自动从Master把修改的数据同步过来(有一定的延迟),通过 ...

  9. springboot(三)SpringDataJPA完成CRUD

    参考博客—恒宇少年:https://www.jianshu.com/p/b6932740f3c0 纯洁的微笑:http://www.ityouknow.com/springboot/2016/08/2 ...

  10. Ansible部署zabbix-agent

    playbook目录 zabbix/ ├── hosts ##定义的主机列表 ├── install_zabbix_agent.yml ##安装入口文件 └── roles ├── install_z ...