文档章节

JAVA开发的一些规范[ALIBABA规范]

阮少爷
 阮少爷
发布于 2017/04/01 16:58
字数 1248
阅读 41
收藏 0

方法名、参数名、成员变量、局部变量都统一使用 lowerCamelCase 风格,必须遵从 驼峰形式。 正例: localValue / getHttpMessage() / inputUserId 

 

常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长。
 正例: MAX_STOCK_COUNT 反例: MAX_COUNT

 

抽象类命名使用 Abstract 或 Base 开头;异常类命名使用 Exception 结尾;测试类 命名以它要测试的类的名称开始,以 Test 结尾。

 

中括号是数组类型的一部分,数组定义如下:String[] args; 反例:使用 String args[]的方式来定义。

 

POJO 类中布尔类型的变量,都不要加 is,否则部分框架解析会引起序列化错误。 反例:定义为基本数据类型 Boolean isSuccess;的属性,它的方法也是 isSuccess(),RPC 框架在反向解析的时候,“以为”对应的属性名称是 success,导致属性获取不到,进而抛出异 常。 
 

 

接口类中的方法和属性不要加任何修饰符号(public 也不要加),保持代码的简洁 性,并加上有效的 Javadoc 注释。尽量不要在接口里定义变量,如果一定要定义变量,肯定是 与接口方法相关,并且是整个应用的基础常量。 正例:接口方法签名:void f();     接口基础常量表示:String COMPANY = "alibaba"; 反例:接口方法定义:public abstract void f(); 说明:JDK8 中接口允许有默认实现,那么这个 default 方法,是对所有实现类都有价值的默 认实现。 

 

枚举类名建议带上 Enum 后缀,枚举成员名称需要全大写,单词间用下划线隔开。 说明:枚举其实就是特殊的常量类,且构造方法被默认强制是私有。 正例:枚举名字:DealStatusEnum,成员名称:SUCCESS / UNKOWN_REASON。 

 

任何运算符左右必须加一个空格。 

 

方法体内的执行语句组、变量的定义语句组、不同的业务逻辑之间或者不同的语义 之间插入一个空行。相同业务逻辑和语义之间不需要插入空行。 说明:没有必要插入多行空格进行隔开。

 

避免通过一个类的对象引用访问此类的静态变量或静态方法,无谓增加编译器解析成 本,直接用类名来访问即可。 

 

类内方法定义顺序依次是:公有方法或保护方法 > 私有方法 > getter/setter 方法

 

注释:

 

类、类属性、类方法的注释必须使用 Javadoc 规范,使用/**内容*/格式,不得使用 //xxx 方式。 说明:在 IDE 编辑窗口中,Javadoc 方式会提示相关注释,生成 Javadoc 可以正确输出相应注 释;在 IDE 中,工程调用方法时,不进入方法即可悬浮提示方法、参数、返回值的意义,提高 阅读效率

 

所有的抽象方法(包括接口中的方法)必须要用 Javadoc 注释、除了返回值、参数、 异常说明外,还必须指出该方法做什么事情,实现什么功能。 

 

所有的枚举类型字段必须要有注释,说明每个数据项的用途。 

 

注释掉的代码尽量要配合说明,而不是简单的注释掉。 

 

SQL:

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

 

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

正例:getter_admin,task_config,level3_name

反例:GetterAdmin,taskConfig,level_3_name

 

表名不使用复数名词

二方库规约 :

 

定义 GAV 遵从以下规则:

 1) GroupID 格式:com.{公司/BU }.业务线.[子业务线],最多 4 级。  

说明: {公司/BU} 例如:alibaba/taobao/tmall/aliexpress 等 BU 一级;子业务线可选。  

    正例:com.taobao.jstorm 或 com.alibaba.dubbo.register  

2) ArtifactID 格式:产品线名-模块名。语义不重复不遗漏,先到仓库中心去查证一下。
    正例:dubbo-client / fastjson-api / jstorm-tool  3)

        Version:详细规定参考下方。

 

二方库版本号命名方式:主版本号.次版本号.修订号  1) 主版本号:当做了不兼容的 API 修改,或者增加了能改变产品方向的新功能。  2) 次版本号:当做了向下兼容的功能性新增(新增类、接口等)。  3) 修订号:修复 bug,没有修改方法签名的功能加强,保持 API 兼容性。 
说明:起始版本号必须为:1.0.0,而不是 0.0.1 

 

© 著作权归作者所有

阮少爷
粉丝 8
博文 174
码字总数 124470
作品 0
成都
CTO(技术副总裁)
私信 提问
Android Studio 插件——《阿里巴巴 Java 开发规约》的扫描插件

版权声明:本文为博主原创文章,转载请注明出处http://blog.csdn.net/u013132758。 https://blog.csdn.net/u013132758/article/details/78337759 前言 好久没有写博客了,前不久的杭州云栖大...

紫雾凌寒
2017/10/25
0
0
《阿里巴巴Java开发规约》插件使用介绍

一、简介 阿里巴巴于10月14日在杭州云栖大会上,正式发布了《阿里巴巴Java开发规约》扫描插件!该插件基于《阿里巴巴Java开发规约》手册内容,在扫描代码后,将不符合规约的代码按Blocker/C...

jmcui
2017/10/18
0
0
阿里java代码规范IDEA添加插件

为了尽量自己写好代码,为了尽量团队代码风格统一,有一套可执行的规范是再好不过了,《阿里巴巴Java开发手册》对JAVA编码规范做了一个总结,并且把这个规范做成了一个很好用的IDEA插件,可以...

全世界最好的肥猪精
2018/12/05
0
0
Alibaba Dragonwell:阿里巴巴宣布开源 OpenJDK 长期支持版本,持续开源回馈社区

3 月 21 日在阿里云峰会·北京上,阿里巴巴旗下的阿里云当天即发布多款重磅产品,涵盖了超级计算、云原生数据库,以及SaaS 加速器,包括神龙异构超算集群、新版本 Polardb 可兼容 Oracle 数据...

作者: 阿里巴巴
03/24
0
0
使用P3C进行项目代码规范管理

存在的问题 研发团队的代码质量管理,是项目管理的重要环节之一。 项目的代码质量将会影响到项目的研发、测试、维护以及运营等众多领域。 中小项目团队在过去的代码质量管理中,往往存在以下...

哼_哼
06/09
26
0

没有更多内容

加载失败,请刷新页面

加载更多

可能是国内第一篇全面解读 Java 现状及趋势的文章

作者 | 张晓楠 Dragonwell JDK 最新版本 8.1.1-GA 发布,包括全新特性和更新! 导读:InfoQ 发布《2019 中国 Java 发展趋势报告》,反映 Java 在中国发展的独特性,同时也希望大家对 Java 有...

阿里云官方博客
30分钟前
6
0
Spring Boot 2.x基础教程:Swagger静态文档的生成

前言 通过之前的两篇关于Swagger入门以及具体使用细节的介绍之后,我们已经能够轻松地为Spring MVC的Web项目自动构建出API文档了。如果您还不熟悉这块,可以先阅读: Spring Boot 2.x基础教程...

程序猿DD
34分钟前
4
0
《毅力》读书笔记

1.确信你全身心地投入 2.准备好为目标进行艰难的跋涉 3.通过减少需要使用毅力的情形,为将来的挑战做好准备 4.尽可能具体细致地确定你的目标和实现目标的过程 5.把挑战分解为小而易于管理的小...

lingch
35分钟前
3
0
zk中快速选举FastLeaderElection实现

选举涉及概念 服务器状态 投票 如何选择投票? 协议 选举 如何进行选举? epoch 发送者 接收者 发送队列 接收队列 服务器状态 public enum ServerState { LOOKING,寻找Leader状态,当服务处于...

writeademo
38分钟前
4
0
教你玩转Linux—磁盘管理

Linux磁盘管理好坏直接关系到整个系统的性能问题,Linux磁盘管理常用三个命令为df、du和fdisk。 df df命令参数功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少...

Linux就该这么学
40分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部