之前已经详细.全面地介绍了 Log4j,相信小伙伴们已经完全掌握了.那我在读嵩山版的阿里巴巴开发手册(没有的小伙伴,记着找我要)的时候,就发现了一条「强制」性质的日志规约: 应用中不可以直接使用日志系统(Log4j.Logback)中的 API,而应该使用日志框架中的 API,比如说 SLF4J,使用门面模式的日志框架,有利于维护和统一各个类的日志处理方式. (为什么我把这段文字手敲了下来呢,因为我发现阿里巴巴开发手册上的有语病,瞧下面红色标出的部分) (维护和统一,把统一放在最后面读起来真的是…
封面:学校内的秋天 背景:写这个的原因,也是我这两天凑巧看到的,虽然我一直有 alibaba Java 开发手册,也看过不少次,但是一直没有注意过这个问题 属于那种看过,但又没完全看过 一起来看看吧冲咯 hxdm,我写不出小故事,但是可不可以看在我写了不少,还算实用的份上,给个赞啊. 在这里请xdm 喝 啦 一.前言 今天在写一个AdvertVO类时,我当时用 id 是直接给了个 long,没有使用用包装类型,然后 idea 里面的 Alibaba Java Coding Guidelines…
集合是Java开发日常开发中经常会使用到的,而作为一种典型的K-V结构的数据结构,HashMap对于Java开发者一定不陌生. 关于HashMap,很多人都对他有一些基本的了解,比如他和hashtable之间的区别.他和concurrentHashMap之间的区别等.这些都是比较常见的,关于HashMap的一些知识点和面试题,想来大家一定了熟于心了,并且在开发中也能有效的应用上. 但是,作者在很多次 CodeReview 以及面试中发现,有一个比较关键的小细节经常被忽视,那就是HashMap创建…
引言 今天阿里巴巴开发手册嵩山版又发布了,距离上次泰山版发布才仅仅几个月.是不是有的同学又要感叹下这速度也太快了点吧.我泰山版还没看完,嵩山版直接来了.没看完不要紧,我们直接看嵩山版本就好了.一次性把它撸完.今天发布的新版本总共是63页上一个版本是61页,貌似也只增加了2页,更新的规则应该不是很多.下面我们直接来看看这次的话更新了一些什么新的规范吧. 前后端规约14条 先说下这条规则吧,确实一堆的判空,代码看起来也不是很有优雅,然后也繁琐.个人意见觉得判空还是有必要的.因为不知道哪天突然就是手抖…
一.前言 火线(Fireline)的Jenkins官方插件已经上线,目前火线不仅能检查出安卓代码中的安全类问题和内存泄露问题,还兼容了阿里开源的Java开发规约(P3C项目),本文将以教程的形式帮助大家了解如何在Jenkins中使用火线插件做静态代码扫描. 提示:如果您是第一次使用Jenkins,请先前往文章[[新手教程] Jenkins 下载安装配置教程],本篇博客转载:http://www.sohu.com/a/208421161_741445?qq-pf-to=pcqq.c2c 二.安装步…
在阅读<阿里巴巴Java开发手册>时,发现有一条关于整型包装类对象之间值比较的规约,具体内容如下: 这条建议非常值得大家关注, 而且该问题在 Java 面试中十分常见. 还需要思考以下几个问题: 如果不看<阿里巴巴Java开发手册>,如何知道 Integer var = ? 会缓存 -128 到 127 之间的赋值? 为什么会缓存这个范围的赋值? 如何学习和分析类似的问题? Integer 缓存问题分析 先看下面的示例代码,并思考该段代码的输出结果: public class In…
在阅读<阿里巴巴Java开发手册>时,发现有一条关于在 foreach 循环里进行元素的 remove/add 操作的规约,具体内容如下: 错误演示 我们首先在 IDEA 中编写一个在 foreach 循环里进行 remove 操作的代码: import java.util.ArrayList; import java.util.List; public class ForEachTest { public static void main(String[] args) { List<S…
在阅读<阿里巴巴Java开发手册>时,发现有一条关于二方库依赖中接口返回值不允许使用枚举类型的规约,具体内容如下: 在谈论为什么之前先来科普下什么是二方库,二方库也称作二方包,一般指公司内部发布到中央仓库,可供公司内部其他应用依赖的库(jar 包). 那么一方库便是本工程内部子项目模块依赖的库:三方库为公司之外的开源库,比如像 fastjson.easyexcel 这种. 下面我们就通过一个例子来看下为什么阿里巴巴不允许返回枚举类型或者包含枚举类型的 POJO 对象. 比如星巴克提供了 0.0…
一.前言 这本书主要定义了一些代码的规范以及一些注意事项.我只根据我自己的不足,摘录了一些内容,方便以后查阅. 二.读书笔记 命名 1.代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束. 反例: _name / __name / $Object / name_ / name$ / Object$ 2.常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长.   3.抽象类命名使用 Abstract 或 Base 开头: 异常类命名使用 Exception…
转自 https://blog.csdn.net/u013039395/article/details/86528164 一.编程规约 (一) 命名风格 [强制]代码中的命名只可用英文方式 [强制]类名使用UpperCamelCase风格, 但以下例外:(分层领域模型规约2) - DO( Data Object):数据对象,与数据库表结构一一对应,通过DAO层向上传输数据源对象. - DTO( DataTransfer Object):数据传输对象,Service或Manager向外传输的对象.…