在 2020 年 8 月 3 日 推出的《Java 开发手册嵩山版》后历经了 18 个月阿里又推出了《Java 开发手册黄山版》。想必每个 Java 程序员应该都会关注阿里推出的《Java 开发手册》,个人觉得这份开发手册短小精干,非常实用。在整个手册中可以逐步地学到知识(手册背不下来,只能逐步的吸收,并尽量付诸实践),也可以从知识的表面理解一些更深层的思想。其实之前我做 PHP 的时候,就对这份手册非常的喜欢。因此手册有更新,我把更新的规约摘录在这里,方便阅读,方便学习。
最近,阿里的《Java开发手册》又更新了,这个版本历经一年的修炼,取名:《Java开发手册(泰山版)》正式出道。
最近在做Code Review,写下了这篇文章:代码写成这样,老夫无可奈何!,说多了都是泪啊。。
点击上方“码农沉思录”,选择“设为星标” 优质文章,及时送达 目录 一.题是什么题? 二.阿里Java开发规范。 2.1 正例代码。 2.2 反例代码。 三.层层揭秘,为什么发生异常了
现代软件行业的高速发展对开发者的综合素质要求越来越高,因为不仅是编程知识点,其它维度的知识点也会影响到软件的最终交付质量。
门面设计模式是面向对象设计模式中的一种,日志框架采用的就是这种模式,类似 JDBC 的设计理念。它只提供一套接口规范,自身不负责日志功能的实现,目的是让使用者不需要关注底层具体是哪个日志库来负责日志打印及具体的使用细节等。目前用得最为广泛的日志门面有两种:slf4j 和 commons-logging。
本文比较简短,基本就是推荐一些对于写好代码非常有用的文章或者资源(适合周末阅读,故意加重点)。讲真的,下面推荐的文章或者资源强烈建议阅读 3 遍以上,都是我的珍藏!!!
有一位同事说使用 fastjson 进行 JSON 序列化存储到数据库后,发现 JSON 字符串“莫名其妙地”多了一些属性! 帮看了下代码,看到基本类型的布尔类型以 is 开头的属性,再看到 fastjson ,就有点想笑。
每次阿里新出Java开发手册,都会抽时间读一读。不仅如此,还会将最新的Idea插件更新一番,以规范开发。这个习惯养成很久了,以至于将Idea更新到最新版本时,发现阿里对应的插件还不能用,竟然有些懊恼升级了。
分享一点自己工作中得心应手的IDEA插件,可不是在插件商店随随便便搜的,都经过实战检验,用过的都说好。可能有一些大家用过的就快速划过就行了。
作为一名开发人员,你可能会发现周围的开发并不太喜欢写测试用例,甚至有些同学根本不写测试用例,认为写测试用例完全是浪费时间,或者是测试用例只是测试的事情。
最近看到《阿里巴巴Java开发手册》(公众号回复[开发手册]免费获取)第11条规范写到:
有很多小伙伴在写代码的时候,有一些比较基础的问题没有考虑到,导致项目 Code Review 的时候被 diss。
背景 前阵子阿里巴巴发布了<<阿里巴巴Java开发手册(终极版)>>,可以加QQ群(公众号主菜单,点击微信群)获取。 不久,又一气呵成发布了Eclipse/Intellij Idea下的代码检测插件PC3,可谓是国内代码优秀的检测插件。此插件检测的标准是根据<<阿里巴巴Java开发手册(终极版)>>上面制定的规定进行检测的。 如何使用 代码检测插件放到了github上:https://github.com/alibaba/p3c 打开这个网站,在上面可以找到Eclipse/Intellij Idea对应的
在写代码的时候,有几个 IDEA 插件对于我规范代码以及更高效地完成编码工作有奇效。
作为程序员,如何写出高质量可维护的代码,是一个老生常谈的话题,初级程序员可能是只要完成任务就行了,但当我们逐渐成为中高级程序员的时候,我们要考虑就不单单只是完成任务就行了,而更加要关注如果写出优雅可维护的代码,并且要保证系统的设计更加的合理。
阿里的《Java开发手册》被Java开发者所拜读,基本人手一册,就在前几天(2020.04.22)发布了泰山版 - 会当凌绝顶,一览众山小,而这次发布新增了很多干货内容,在此,给大家分享一下,是时候更新你的手册了。(文末附下载地址)
从手册可以看出,定义和使用枚举,阿里开发手册都是支持的,但是为啥,返回值就要反对了呢?
最近这段时间比较忙,产出内容频率低了一些,等这周忙完后,后面会抽空写几篇 GitHub 专题文章,敬请期待。
就是方法参数用 Object... args 三个点形式,一个参数可以接收多个参数。
据外媒报道,来自美国的一名程序员因同事不写注释,不遵循驼峰命名,括号换行,最主要还天天git push -f 等因素枪击了4名同事,导致一人情况危急。
《Java 开发手册》是阿里巴巴集团技术团队的集体智慧结晶和经验总结,经历了多次大规模一
Object的equals方法容易抛空指针异常,应使用常量或确定有值的对象来调用 equals。
《阿里巴巴 Java 开发手册》中提到:“为了避免精度丢失,可以使用 BigDecimal 来进行浮点数的运算”。
会当凌绝顶,一览众山小。经过一年的修炼,《Java 开发手册》泰山版于 4.22 正式发布。泰山版发布之后,我便立马去下载简单阅读了一下新增加了内容。
做程序员的竞争越来越大,有一种三百六十行,行行转程序员的感觉。当程序员的想着转行做送外卖逃离 007、996,送外卖的却想着转行当程序员。看到群里小伙伴发的照片,想起以前一个阿姨在地铁上学 Java Web 的照片,真的是太卷了……不,是太励志了!
在阅读《阿里巴巴Java开发手册》时,发现有一条关于前后端超大整数返回的规约,具体内容如下:
阿里妹导读:在三目运算符中,表达式 1 和 2 在涉及算术计算或数据类型转换时,会触发自动拆箱。当其中的操作数为 null 值时,会导致 NPE 。本文将详细剖析 NPE 出现的原因,重新梳理相关知识点,并进一步扩展,帮助大家彻底理解这个问题。
前 言 《Java 开发手册》是阿里巴巴集团技术团队的集体智慧结晶和经验总结, 经历了多次大规模一线实战的检验及不断完善, 公开到业界后,众多社区开发者踊跃参与,共同打磨完善, 系统化地整理成册。现代软件行业的高速发展对开发者的综合素质要求越来越高, 因为不仅是编程知识点,其它维度的知识点也会影响到软件的最终交付质量。比如: 数据库的表结构和索引设计缺陷可能带来软件上的架构缺陷或性能风险; 工程结构混乱导致后续维护艰难;没有鉴权的漏洞代码易被黑客 攻击等等。所以本手册以 Java 开发者为中心视角,划分为编程规约、异常日志、 单元测试、 安全规约、 MySQL 数据库、 工程结构、 设计规约七个维度,再根据内容特征,细分成若干二级子目录。 另外,依据约束力强弱及故障敏感性,规约依次分为强制、推荐、参考三大类。 在延伸信息中,“说明” 对规约做了适当扩展和解释; “正例”提倡什么样的编码和实现方式; “反例”说明需要提防的雷区, 以及真实的错误案例。 手册的愿景是码出高效, 码出质量。 现代软件架构的复杂性需要协同开发完成, 如何高效地协同呢? 无规矩不成方圆,无规范难以协同, 比如, 制订交通法规表面上是要限制行车权, 实际上是保障公众的人身安全, 试想如果没有限速,没有红绿灯,谁还敢上路行驶? 对软件来说,适当的规范和标准绝不是消灭代码内容的创造性、优雅性,而是限制过度个性化,以一种普遍认可的统一方式一起做事,提升协作效率, 降低沟通成本。 代码的字里行间流淌的是软件系统的血液, 质量的提升是尽可能少踩坑,杜绝踩重复的坑, 切实提升系统稳定性, 码出质量。 代码规约扫描引擎。 次年,发布 36 万字的配套详解图书《码出高效》 , 本书秉持“图胜于表,表胜于言” 的理念,深入浅出地将计算机基础、面向对象思想、 JVM 探源、数据结构与集合、并发与多线程、单元测试等知识客观、立体地呈现出来。紧扣学以致用、学以精进的目标,结合阿里巴巴实践经验和故障案例,与底层源码解析融会贯通,娓娓道来。 此书所得收入均捐赠公益事情,希望用技术情怀帮助更多的人。 一、 编程规约 (一) 命名风格
研发过程中,String 的 API 用的应该是最多,创建 String 对象,以及字符串分割处理那是常有的事儿。
前两天写了一篇关于《阿里Java开发手册中的 1 个bug》的文章,评论区有点炸锅了,基本分为两派,支持老王的和质疑老王的。
博文视点学院 本周课表(3月22日-3月28日) 1 本周限免章节 (扫描下方二维码立即学习) ▊《数据中台实战:手把手教你搭建数据中台》 限免章节: 07 商品分析 08 流量分析 09 交易分析 通过50+实战案例手把手带着你学习,助你收获一套建设数据中台的全流程、系统的方法论。你将获得: 1.彻底搞清楚中台、业务中台、数据中台是什么 2.你的公司需不需要搭建中台,少走弯路 3.怎么从0到1搭建数据中台的实战经验 4.怎么通过数据中台驱动业务增长,实现公司的数据智能 ------- (扫描下方
Portal-Basic Java Web应用开发框架(简称 Portal-Basic)是一套功能完备的高性能Full-Stack Web应用开发框架,内置稳定高效的MVC基础架构和DAO框架(已内置Hibernate、MyBatis和JDBC支持),集成 Action拦截、Form Bean / Dao Bean / Spring Bean装配、国际化、文件上传下载和缓存等基础Web应用组件,提供高度灵活的纯 Jsp/Servlet API 编程模型,完美整合 Spring,支持Action Conven
我是蛮三刀把刀,目前为后台开发工程师。主要关注后台开发,网络安全,Python爬虫等技术。
博文视点学院 本周福利课表(8月2日-8日) 1 本周限时秒杀 (扫描下方二维码·获取折扣) ▊《Python3+Selenium3自动化测试 零基础入门到高级项目实战》 价值79元纸书1本 + 39节视频课抱回家 本周限时6折秒杀,限时仅需89.4元! 多年一线自动化测试经验总结,提供大量典型自动化测试实例,以“一镜到底”的手法对核心项目进行阐述,读完此书等于有了企业级项目经验,彻底掌握并灵活运用到自己的项目中。 本专栏包含 图书《Python3+Selenium3自动化测试项目实战》一本 39节视
在大型软件系统设计时,业务一般会相对复杂,假如所有业务实现的代码都纠缠在一起,会出现逻辑不清晰、可读性差,维护困难,改动一处就牵一发而动全身等问题。为了更好解决这个问题就有了我们现在常说的分层架构设计。
惊!你这单元测试的姿势都不对,就和打王者一样,同样是玩游戏,有人躺着,有人跪着……
预期的结果,应该是输出true,但是实际却是抛出了java.lang.UnsupportedOperationException异常:
《阿里巴巴Java开发手册》中提到:浮点数之间的等值判断,基本数据类型不能用==来比较,包装数据类型不能用 equals 来判断。
1.【强制】在使用正则表达式时,利用好其预编译功能,可以有效加快正则匹配速度。 说明:不要在方法体内定义:Pattern pattern = Pattern.compile("规则");
在帮助各位同学远程解决代码问题的时候,发现很多同学的代码都有一个共同问题:「代码书写格式不规范」。虽然代码书写规范对程序性能及运行并不影响,但影响着别人对你编程习惯或能力的第一印象,同时也会给阅读者带来不一样的的观感。
《阿里巴巴 Java 开发手册》是阿里巴巴集团技术团队的集体智慧结晶和经验总结, 经历了多次大规模一线实战的检验及不断完善, 系统化地整理成册。当然,规范只能提供参考,我们还需要工具来帮忙我们实现了实时检测。目前,Alibaba Java Code Guidelines 插件实现了开发手册中的的 53 条规则,大部分基于 PMD 实现,其中有 4 条规则基于 IDEA 实现,并且基于 IDEA Inspection 实现了实时检测功能。部分规则实现了 Quick Fix 功能。目前,插件检测有两种模式:实时检测、手动触发。详细使用文档,参考:https://github.com/alibaba/p3c/blob/master/idea-plugin/README_cn.md
这次讨论的话题,其实在我长期的写代码中也会遇到,就是代码中命名规范的问题,有人说,不就是一个名字吗,可以就是一个名字,知道有多少人去吐槽这个吗?这可不是一个小问题,很多时候,我们会遇到很多bug,奇怪的bug。其实都是我们的命名不规范导致的。
小伙伴想精准查找自己想看的MySQL文章?喏 → MySQL专栏目录 | 点击这里
领取专属 10元无门槛券
手把手带您无忧上云