博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java alibaba代码规范_Alibaba: Java 代码规范(部分)
阅读量:6644 次
发布时间:2019-06-25

本文共 1104 字,大约阅读时间需要 3 分钟。

【强制】POJO 类中布尔类型的变量,都不要加 is,否则部分框架解析会引起序列化错误。

反例:定义为基本数据类型 boolean isSuccess;的属性,它的方法也是 isSuccess(),RPC

框架在反向解析的时候,“以为”对应的属性名称是 success,导致属性获取不到,进而抛出异

常。

【强制】包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词。包名统一使用单数形式,但是类名如果有复数含义,类名可以使用复数形式。

正例: 应用工具类包名为 com.alibaba.open.util、类名为 MessageUtils(此规则参考

spring 的框架结构)

【推荐】接口类中的方法和属性不要加任何修饰符号(public 也不要加),保持代码的简洁

性,并加上有效的 Javadoc 注释。尽量不要在接口里定义变量,如果一定要定义变量,肯定是

与接口方法相关,并且是整个应用的基础常量。

正例:接口方法签名:void f();

接口基础常量表示:String COMPANY = "alibaba";

反例:接口方法定义:public abstract void f();

说明:JDK8 中接口允许有默认实现,那么这个 default 方法,是对所有实现类都有价值的默

认实现。

【参考】各层命名规约:

A) Service/DAO 层方法命名规约

--1) 获取单个对象的方法用 get 做前缀。

--2) 获取多个对象的方法用 list 做前缀。

--3) 获取统计值的方法用 count 做前缀。

--4) 插入的方法用 save(推荐)或 insert 做前缀。

--5) 删除的方法用 remove(推荐)或 delete 做前缀。

--6) 修改的方法用 update 做前缀。

B) 领域模型命名规约

--1) 数据对象:xxxDO,xxx 即为数据表名。

--2) 数据传输对象:xxxDTO,xxx 为业务领域相关的名称。

--3) 展示对象:xxxVO,xxx 一般为网页名称。

--4) POJO 是 DO/DTO/BO/VO 的统称,禁止命名成 xxxPOJO。

【强制】不允许出现任何魔法值(即未经定义的常量)直接出现在代码中。

反例: String key="Id#taobao_"+tradeId;

cache.put(key, value);

【强制】long 或者 Long 初始赋值时,必须使用大写的 L,不能是小写的 l,小写容易跟数字

1 混淆,造成误解。

说明:Long a = 2l; 写的是数字的 21,还是 Long 型的 2?

转载地址:http://bbevo.baihongyu.com/

你可能感兴趣的文章
微信公众平台OAuth2.0授权登陆(PHP)
查看>>
Oracle rank() over() 排名 问题 间断 不间断
查看>>
【CCNP】BGP路由反射器与AS联邦案例实验
查看>>
TCP_Wrappers
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
系统架构图怎么画
查看>>
一个很酷的加载loading效果
查看>>
我的友情链接
查看>>
Java解析json串
查看>>
ubuntu12.04 NFS搭建指南
查看>>
Sublime Text 使用介绍、全套快捷键及插件推荐
查看>>
toolbar
查看>>
spring boot 项目,maven打jar包时,将本地jar一块打入包
查看>>
Exchange Server 2010 SP2 高可用性(八)---配置内外网邮件收发
查看>>
Windows Server 2012 虚拟化实战:存储(一)
查看>>
linux shell 计算时间差并显示按时分秒显示
查看>>
iptables防火墙
查看>>
最大子序列和问题的解——C++实现;
查看>>
Shell脚本语言
查看>>