阿里巴巴Java开发手册v1.2.0

最近阿里出了java开发手册v1.2.0版,看一下自己平时有哪些做不到的,特此记录一下(不太理解的标为红色)

此手册编写是为了提供代码质量,降低协同成本,提升沟通效率。对无规范的沟通深有感触。

编程规范

  • 变量规范

1.类名在 PO(Persist Object) VO(Value Object) BO(Business Object) DO(Domain Object) DTO(Data Transfer Object) AO(Access Object)使要保持大写

2.抽象类名Abstract或Base开头 异常Exception结尾 测试了Test结尾

3.POJO类boolean变量不要加is,如isDeleted,方法也是isDeleted,RPC框架反向解析时候,会认为变量名是delete,引起序列化错误

4.包名点分隔符之间有且只有一个单词, 并且一定为单数,类名有要求可以为负数

5.利用设计模式,要显示在类名中

6.接口方法属性不加修饰,保持简洁

7.正常的就不说了,形容能力的接口名称,形容词做接口,如AbstractTranslator implements Translatable。

8.枚举名加上Enum后缀

9.各层命名规范:

Service/DAO层方法命名规范(前缀):

1)单个对象方法用get

2)多个对象方法用list

3)统计值的方法用count

4)插入方法用save

5)删除方法用remove/delete

6)修改方法用update

领域对象模型:

1)数据对象 xxxDao xxx为数据库表明

2)数据传输对象 xxxDTO xxx为业务领域相关名称

3)展示对象 xxxVO xxx为网页名

4)禁止命名xxxPOJO

  • 常量规范

1.不允许魔法值直接出现在变量中

2.常量应该按照功能分类,分开维护。如:缓存相关的常量放在类:CacheConsts下;系统配置相关的常量放在类:ConfigConsts下。

3.常量的复用层次有五层

跨应用共享:放置在二方库中,通常是 client.jar中的 constant目录下。

应用内共享:放置在一方库的 modules中的 constant目录下。

子工程内共享:即在当前子工程的 constant目录下。

包内共享:即在当前包下单独的 constant目录下。

类内共享常量:直接在类内部 private static final定义。

4.常量在范围内变化,且含引申含义,定义枚举

  • 代码格式

1.单行字符超出120换行,换行规范:

正例:
StringBuffer sb = new StringBuffer();
// 超过 120 个字符的情况下,换行缩进 4 个空格,并且方法前的点符号一起换行
sb.append("zi").append("xin")...
.append("huang")...
.append("huang")...
.append("huang");
反例:
StringBuffer sb = new StringBuffer();
// 超过 120 个字符的情况下,不要在括号前换行
sb.append("zi").append("xin")...append
("huang");   

// 参数很多的方法调用可能超过 120 个字符,不要在逗号前换行
 method(args1, args2, args3, ...
, argsX); 

2.IDE换行符用Unix形式,修改参照:http://blog.csdn.net/black_ox/article/details/7869627

异常日志

Mysql数据库

  • 建表规范

索引规范

SQL语句

ORM映射

工程结构

安全规约

时间: 2024-07-31 22:34:36

阿里巴巴Java开发手册v1.2.0的相关文章

读阿里巴巴Java开发手册v1.2.0之编程规约有感【架构篇】

 不为过去蹉跎,改变当下. 为什么开篇就送这么一句话给大家,我相信很多处于1-3年码龄的哥们儿们,在平时的编码历程中编码的个性可能是多彩的,每个人都有每个人特定的风格,但是我们现在这么随意写,以后这么随意写,好没问题,但是等你离开这个公司了或者是去开发别的项目了,再等别人过来接手维护你一手写出来的这段个性十足的代码时,那么你的右眼皮时不时地就会跳,因果我就不说了~~ 所以我建议看到这篇博文的朋友们,或许你稍微改变一下你的编码风格,遵从一套好的编码规约对己对人都是有好处的.可能朋友的公司也有专门的

阿里巴巴Java开发手册1.4.0

转自官网 前言 <阿里巴巴Java开发手册>是阿里巴巴集团技术团队的集体智慧结晶和经验总结,经历了多次大规模一线实战的检验及不断完善,系统化地整理成册,回馈给广大开发者.现代软件行业的高速发展对开发者的综合素质要求越来越高,因为不仅是编程知识点,其它维度的知识点也会影响到软件的最终交付质量.比如:数据库的表结构和索引设计缺陷可能带来软件上的架构缺陷或性能风险:工程结构混乱导致后续维护艰难:没有鉴权的漏洞代码易被黑客攻击等等.所以本手册以Java开发者为中心视角,划分为编程规约.异常日志.单元测

阿里巴巴Java开发手册

序号 文档名及下载地址 1 阿里巴巴Java开发手册v1.2.0 其他

阿里巴巴 Java 开发手册 1.4.0

一.编程规约(一) 命名风格1. [强制]代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束.反例: _name / __name / $name / name_ / name$ / name__2. [强制]代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式.说明:正确的英文拼写和语法可以让阅读者易于理解,避免歧义.注意,即使纯拼音命名方式也要避免采用.正例: alibaba / taobao / youku / hangzhou 等国际通用的名称,可视同

阿里巴巴 Java 开发手册评述

2016年底,阿里巴巴公开了其在内部使用的Java编程规范.随后进行了几次版本修订,笔者当时看到的版本为v1.0.2版.下载地址可以在其官方社区--云栖社区找到. 笔者作为一名有数年工作经验的Java程序员,仔细研读了这份手册,觉得是一份不可多得的好材料.正如阿里巴巴在发布时所说,"阿里巴巴集团推出的<阿里巴巴Java开发手册(正式版)>是公司近万名开发同学集体智慧的结晶,以开发视角为中心,详细列举了如何开发更加高效.更加容错.更加有协作性,力求知其然,更知其不然.结合正反例,让Ja

阿里巴巴Java开发手册———个人追加的见解和补充(一)

先上干货,<阿里巴巴Java开发手册>的下载地址 https://yq.aliyun.com/articles/69327?spm=5176.100239.blogcont69327.158.xUUgiz 下面分几个部分对这个手册进行说明,都是个人的见解,本人技术一般,如果有错误或者不妥,请评论指出,虚心接受,提前感谢了. 建议边看手册,边食用以下说明,效果比较好. 前言 首先当我第一次看见这个的手册的时候或许和和你们是一样激动的,因为在java行业内我还没有看见有中文的规范,也可能是我读书少

阿里巴巴Java开发手册上常规的编程命名总结

阿里巴巴Java开发手册上常规的编程命名总结:1.类名必须驼峰.例子:MarcoPolo / UserDO / XmlService / TcpUdpDeal / TaPromotion 2.方法名.参数名.成员变量.局部变量都统一使用 lowerCamelCase 风格,必须遵从驼峰形式.例子:localValue / getHttpMessage() / inputUserId 3.常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长.例子:MAX_STOCK_COUNT

《阿里巴巴 Java开发手册》读后感

前言 只有光头才能变强 前一阵子一直在学Redis,结果在黄金段位被虐了,暂时升不了段位了,每天都拿不到首胜(好烦). 趁着学校校运会,合理地给自己放了一个小长假,然后就回家了.回到家才发现当时618买了一堆书,这堆书还有没撕包装的呢....于是我翻出了最薄的一本<阿里巴巴 Java开发手册> 这本书一共就90多页,一天就可以通读完了,看完之后我又来水博文了. 注意: 书上很多的规范是可以用IDE来避免的,也有很多之前已经知道的了. 所以,这篇文章只记录我认为比较重要,或者说是我之前开发时没有

《阿里巴巴Java开发手册》更新为《Java开发手册》

新版一览:华山版<Java开发手册> <阿里巴巴Java开发手册>始于阿里内部规约,在全球Java开发者共同努力下,已成为业界普遍遵循的开发规范,涵盖编程规约.异常日志.单元测试.安全规约.MySQL数据库.工程规约.设计规约七大维度.2019年6月19日发布1.5.0华山版,同时更名为<Java开发手册>,主要有以下变更: 1)鉴于本手册是社区开发者集体智慧的结晶,本版本移除阿里巴巴 Java 开发手册的限定词"阿里巴巴". 2)新增 21 条新规