1. 云栖社区>
  2. 博客列表>
  3. 正文

【Java编码规范】《阿里巴巴Java开发手册(正式版)》更新(v1.2.0版)——迄今最完善版本

云木西 2017-02-08 17:01:38 浏览361790 评论113

java 阿里巴巴 开发手册

摘要: 阿里巴巴集团推出的《阿里巴巴Java开发手册(正式版)》是阿里巴巴近万名开发同学集体智慧的结晶,以开发视角为中心,详细列举如何开发更加高效、更加容错、更加有协作性,力求知其然,更知其不然,结合正反例,让Java开发者能够提升协作效率、提高代码质量。

今年年初,《阿里巴巴Java开发手册》正式发布,阿里官方Java代码规范标准首次对外公开。手册发布之后在业界、学术界都获得了广泛的关注,仅微博浏览量就突破千万,下载访问量超过40万,多家媒体主动转发,并将其称为“Java工程师必备宝典”。

在收集外部建议和阿里内部经验更新的基础上,阿里规约项目组正式推出《阿里巴巴Java开发手册》1.2.0升级版,堪称史上最完善版本。

点击下载《阿里巴巴Java开发手册》(v1.2.0版):https://yq.aliyun.com/attachment/download/?id=1651 

v1.2.0版本更新亮点:更新排版,更新部分示例。

 (版本不断更新中,请收藏本文,以免错过重要更新)

94978f1bf8474dc3b2fe30b0fc0ff29f1e45b277

(点击参与话题讨论:Java开发者们,一起来聊聊大家的开发规约吧


你是否曾因Java代码规范版本纷杂而无所适从?

你是否想过代码规范能将系统故障率降低20%?

你是否曾因团队代码风格迥异而协同困难?

你是否正在review一些原本可以避免的故障?

你是否无法确定自己的代码足够健壮? 

码出高效,码出质量!

相比C++代码规范业界已经达成共识,Java代码规范业界比较混乱,我们期待这次发布的Java代码规范能够给业界带来一个标准,促使整体行业代码规范水平得到提高,最终能够帮助企业和开发者提升代码质量和降低代码故障率。

 

阿里出品,质量保证!

阿里Java技术团队一手打造出Dubbo、JStorm、Fastjson等诸多流行开源框架,部分已成为Apache基金会孵化项目;

阿里在Java后端领域支撑起全球访问量最大的服务器集群;

Java代码构建的阿里双11业务系统订单处理能力达到17.5万笔/秒;

到目前已累计数亿行高并发、高稳定性的最佳Java代码实践;

……

此次首度公开的Java开发手册正是出自这样的团队,近万名阿里Java技术精英的经验总结,并经历了多次大规模一线实战检验及完善,铸就了这本高含金量的阿里Java开发手册。该手册以Java开发者为中心视角,划分为编程规约、异常日志规约、MYSQL规约、工程规约、安全规约五大块,再根据内容特征,细分成若干二级子目录。根据约束力强弱和故障敏感性,规约依次分为强制、推荐、参考三大类。此套规范不仅能让代码一目了然, 更有助于加强团队分工与合作、真正提升效率。 


无规矩不成方圆 无规范不能协作

众所周知,制订交通法规表面上是要限制行车权,实际上是保障公众的人身安全。试想如果没有限速,没有红绿灯,没有规定靠右行驶,谁还敢上路行驶。 

同理,对软件来说,适当的规范和标准绝不是消灭代码内容的创造性、优雅性,而是限制过度个性化,以一种普遍认可的方式一起做事,降低故障率,提升协作效率。开发手册详细列举如何开发更加高效,更加容错,更加有协作性,力求知其然,更知其不然,结合正反例,提高代码质量。比如,异常日志处理时的各种不规范行为;集合转换的各种坑;创建线程池出现的等待队列OOM等。 


阿里技术资深大咖联袂推荐

阿里高级研究员多隆:工程师对于代码,一定要“精益求精”,不论从性能,还是简洁优雅,都要具备“精益求精”的工匠精神,认真打磨自己的作品。 

阿里研究员毕玄:一个优秀的工程师和一个普通工程师的区别,不是现在满天飞的架构图,他的功底就是体现在他写的每一行代码上。 

阿里研究员玄难:代码是软件工程里面的产品设计、系统架构设计等工作的最后承载体,代码的质量决定了一切工作的成败。 

阿里巴巴B2B事业群CTO李纯:好的软件产品离不开工程师高质量的代码及相互间顺畅的沟通与合作。简单,适用的代码规约背后所传递的是技术上的追求卓越、协同合作的精神,是每个技术团队不可缺失的重要利器。 

阿里研究员、HipHop作者:赵海平(花名:福贝):程序员是创造个性化作品的艺术家,但同时也是需要团队合作的工种。个性化应尽量表现在代码效率和算法方面,牺牲小我,成就大我。 


拥抱规范,远离伤害!

开发的同学们赶紧行动起来,遵守代码规范,你好,我好,大家好! 


【9元建站,点击立享:https://market.aliyun.com/tpldns


关注云栖社区微信公众号:

2adbbb40545618044d6ebff62c513480e7591581

版权声明:本文内容由互联网用户自发贡献,本社区不拥有所有权,也不承担相关法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:yqgroup@service.aliyun.com 进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。

用云栖社区APP,舒服~

【云栖快讯】首届阿里巴巴中间件技术峰会,揭秘阿里10年分布式技术沉淀!阿里高可用体系核心缔造者、全链路压测创始人,DRDS与TDDL负责人等大咖出场,干货分享,不可错过!  详情请点击

网友评论

81F
baiweiyll

规范不错

82F
辉成功

曾加收入。好发展。求扩大。

(来自社区APP)
83F
m良哥熇爸

有用

(来自社区APP)
84F
白眉大虾

赞,刚转java,就收到这么好的礼物

85F
devywong

非常好,欢迎阿里经验更多分享。。。。。

86F
范爷爷

(来自社区APP)
87F
1070188772261765

占楼保存

88F
蕴桦

网络科技能给各方面的发展带来高科技

(来自社区APP)
89F
王兰花1314

(来自社区APP)
90F
蕴桦

网络阿里云可以帮助大家办理很多事情

(来自社区APP)
91F
戴维森

自动化编程

(来自社区APP)
92F
川东龙哥

一直看着阿里的发展,现在想学习JAVA编程,不知道能不能约会呢😔

(来自社区APP)
93F
wxlweiyu

学习了

(来自社区APP)
94F
李俊超

约定大于规范,建立一个大家都尽量来遵守的约定,也是一种规范的方式。

李俊超 赞同
95F
zhuguowei

多谢! 很好的资料 最好能够是以在线wik的形式发布。 便于将其他团队遇到的一些问题总结进去。这样的话,会越来越完善。一个建议 可以提供一些在线示例 如SQL规约第一条: http://sqlfiddle.com/#!9/5cbd3/2

96F
大城小艾

能把codestyle的checkStyle.xml配置文件发出来吗?

97F
为梦而来

QQ_20170411114026这个地方对象参数需要判空,如果调用compare方法时传入的是空对象会报空指针

anxiety

拜托 ,这里的重点不是NPE问题,而是处理逻辑问题 ,并没有判断o1.getId() == o2.getId() 相等的情况,所以这段程序默认情况下 都不会是null的,请看我问题的重点。

评论
98F
gchm2010

MARK下

99F
1的10次方

sp170412_121429
这个坑曾经把我坑哭了!

anxiety

嗯 Integer 有缓存问题

评论
100F
ccts

mark一下

关注
云木西
云计算、大数据、人工智能技术之路上的徒步者
55篇文章|447关注
大数据开发套件(Data IDE),提供可视化开发界面、离线任务调度运维、快速数据集成、多人协同工作等功能,为您... 更多>

凝聚阿里巴巴多年来在无线业务安全防御的成功经验和技术成果,并面向开发者和企业提供安全扫描、应用加固、安全组件、数... 更多>

云数据库HybridDB(ApsaraDB HybridDB)是一种在线MPP大规模并行处理数据仓库服务。云数据... 更多>

为您提供简单高效、处理能力可弹性伸缩的计算服务,帮助您快速构建更稳定、安全的应用,提升运维效率,降低 IT 成本... 更多>
2017杭州云栖大会火热抢票

2017杭州云栖大会火热抢票