默认
打赏 发表评论 18
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
阿里技术结晶:《阿里巴巴Java开发手册-v1.7.0-嵩山版》[附件下载]
阅读(156625) | 评论(18 收藏10 淘帖2 4
微信扫一扫关注!

【语录】:“别人都说我们是码农,但我们知道,自己是个艺术家。也许我们不过多在意自己的外表和穿着,但我们不羁的外表下,骨子里追求着代码的美、质量的美。而代码规约其实就是一个对美的定义。”


1、前言


最新动态:阿里巴巴技术团队于2020年08月03日发布v1.7.0(嵩山版)!

2017年开春之际,阿里诚意献上重磅大礼:《阿里巴巴Java开发手册(规约)》,首次公开阿里官方Java代码规范标准。这套Java统一规范标准将有助于提高行业编码规范化水平,帮助行业人员提高开发质量和效率、大大降低代码维护成本。

《阿里巴巴Java开发手册(规约)》是阿里内部Java工程师所遵循的开发规范,涵盖编程规约、单元测试规约、异常日志规约、MySQL规约、工程规约、安全规约等,这是近万名阿里Java技术精英的经验总结,并经历了多次大规模一线实战检验及完善。这是阿里回馈给Java社区的一份礼物,希望能够帮助企业开发团队在Java开发上更高效、容错、有协作性,提高代码质量,降低项目维护成本。

另外,《作者谈《阿里巴巴Java开发手册(规约)》背后的故事》一文,可以看看作者怎么说。

下载方式:手册下载请见文末“8、最新手册附件下载”!

2、价值意义


《阿里巴巴Java开发手册(规约)》的愿景是码出高效,码出质量。它结合作者的开发经验和架构历程,提炼阿里巴巴集团技术团队的集体编程经验和软件设计智慧,浓缩成为立体的编程规范和最佳实践。众所周知,现代软件行业的高速发展对开发者的综合素质要求越来越高,因为不仅是编程相关的知识点,其他维度的知识点也会影响软件的最终交付质量,比如,数据库的表结构和索引设计缺陷可能带来软件的架构缺陷或性能风险;单元测试的失位导致集成测试困难;没有鉴权的漏洞代码易被黑客攻击等。所以,本手册以开发者为中心视角,划分为编程规约、异常日志、单元测试、安全规约、MySQL数据库、工程结构、设计规约七个维度,每个条目下有相应的扩展解释和说明,正例和反例,全面、立体、形象地帮助到开发者的成长和团队代码规约文化的形成。

从严格意义上讲,《阿里巴巴Java开发手册(规约)》超越了Java语言本身,明确作为一名合格开发者应该具备的基本素质,因此本手册适合计算机相关行业的管理者和研发人员、高等院校的计算机专业师生、求职者等阅读,希望成为大家如良师益友般的工作手册、工具字典。

3、最新动态


▶ 关于嵩山版(v1.7.0):

1)新增前后端规约 14 条。
2)新增禁止任何歧视性用语的约定。
3)新增涉及敏感操作的情况下日志需要保存六个月的约定。
4)修正 BigDecimal 类中关于 compareTo 和 equals 的等值比较。
5)修正 HashMap 关于 1024 个元素扩容的次数。
6)修正架构分层规范与相关说明。
7)修正泰山版中部分格式错误和描述错误。


▶ 关于泰山版(v1.6.0):
此版发布于2020年04月22日,此版升级内容包括:

1)发布错误码统一解决方案,详细参考手册的“附表 3”。
2)新增 34 条新规约。如:日期时间的闰年、闰月问题,三目运算的自动拆箱,SQL查询的表别名限定,Collectors 类的 toMap()方法使用注意等。
3)修改描述 90 处。如:阻塞等待锁、建表的小数类型等。
4)完善若干处示例。如:ISNULL 的示例等


▶ 关于华山版(v1.5.0):
此版发布于2019年06月15日,并正式更名为《Java开发手册》,用发布者的话说:“它属于所有参与其中的贡献者,也以此聊表我们对全球Java开发者的感谢”。此版升级内容包括:

1)新增21条新规约。比如,switch的空指针问题、浮点数的比较、无泛型限制引起的类型混乱、加锁与解锁的注意事项、YYYY的日期格式问题等;
2)修改描述112处。比如,IFNULL的判断方式、集合的toArray的数组长度、日志占位符的处理等;
3)完善若干处示例。比如,变量命名示例、卫语句示例、枚举示例、finally的return示例等。


▶ 关于终极版(v1.3.1):
本手册至今为止已更迭了三个版本,2017年9月25日,阿里巴巴Java开发手册(终极版)》正式发布,这是史上内容最全、修正最为彻底的一个版本,并且增加了单元测试规约内容,这也是阿里官方对外发布的最后一个PDF版本,值得收藏。

4、主要作者


杨冠宝:
阿里技术结晶:《阿里巴巴Java开发手册-v1.7.0-嵩山版》[附件下载]_101290cf6f8942aa87360a106fef461d_th.jpg

杨冠宝:花名孤尽,取自《笑傲江湖》中风清扬的“独孤九剑,破尽天下武功”之意,是《阿里巴巴Java开发手册》的主要作者。在阿里巴巴集团历任研发、架构师、技术主管等不同的角色,承担过双11、国际化、代码中心等大型项目,有着丰富的一线编程经验,目前是研发协同平台Aone代码中心负责人。乐于分享与总结,在阿里巴巴集团内部大型分享多达30余次,不懈地追求技术创新,勇于挑战技术难度,在大数据、高并发、研发效能领域均有较深的造诣。

2016年3月,孤尽带领约码项目组编写《阿里巴巴Java开发手册(规约)》,码出高效,码出质量,推动阿里系与业界一起进步,让代码变得更舒服,更清澈,更好维护。

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


阿里高级研究员多隆:

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


阿里研究员毕玄:

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


阿里研究员玄难:

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


阿里巴巴B2B事业群CTO李纯:

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


阿里研究员、HipHop作者——赵海平(花名福贝):

程序员是创造个性化作品的艺术家,但同时也是需要团队合作的工种。个性化应尽量表现在代码效率和算法方面,牺牲小我,成就大我。


6、《阿里巴巴Java开发手册(规约)》目录

  • 一、编程规约 ...................................................................................................................................... 1
  • (一) 命名风格 ....................................................................................................................................... 1
  • (二) 常量定义 ....................................................................................................................................... 4
  • (三) 代码格式 ....................................................................................................................................... 5
  • (四) OOP规约 ....................................................................................................................................... 7
  • (五) 日期时间 .......................................................................................................................................11
  • (六) 集合处理 .......................................................................................................................................12
  • (七) 并发处理 .......................................................................................................................................17
  • (八) 控制语句 ....................................................................................................................................... 20
  • (九) 注释规约 ....................................................................................................................................... 24
  • (十) 前后端规约 ................................................................................................................................... 25
  • (十一) 其他 ...........................................................................................................................................27
  • 二、异常日志 .......................................................................................................................................29
  • (一) 错误码 ...........................................................................................................................................29
  • (二) 异常处理 .......................................................................................................................................30
  • (三) 日志规约 .......................................................................................................................................32
  • 三、单元测试 ......................................................................................................................................35
  • 四、安全规约 .......................................................................................................................................37
  • 五、MySQL数据库 ..............................................................................................................................38
  • (一) 建表规约 ........................................................................................................................................38
  • (二) 索引规约 ........................................................................................................................................39
  • (三) SQL语句 ........................................................................................................................................41
  • (四) ORM映射 .......................................................................................................................................42
  • 六、工程结构 ........................................................................................................................................44
  • (一) 应用分层 .........................................................................................................................................44
  • (二) 二方库依赖 .....................................................................................................................................45
  • (三) 服务器 ............................................................................................................................................46
  • 七、设计规约 ........................................................................................................................................48
  • 附1:版本历史 .......................................................................................................................................51
  • 附2:专有名词解释 ................................................................................................................................53
  • 附3:错误码列表 ....................................................................................................................................54

7、部分内容截图预览


阿里技术结晶:《阿里巴巴Java开发手册-v1.7.0-嵩山版》[附件下载]_1.png

阿里技术结晶:《阿里巴巴Java开发手册-v1.7.0-嵩山版》[附件下载]_3.png

阿里技术结晶:《阿里巴巴Java开发手册-v1.7.0-嵩山版》[附件下载]_2.png

8、最新手册附件下载


《阿里巴巴Java开发手册(规约)》-终极版v1.3.1-共40页(52im.net).pdf (1.29 MB , 下载次数: 160 , 售价: 1 金币)
《阿里巴巴Java开发手册(规约)》-华山版v1.5.0-共48页(52im.net).pdf (1.84 MB , 下载次数: 70 , 售价: 1 金币)
《阿里巴巴Java开发手册(规约)》-泰山版v1.6.0-共61页(52im.net).pdf (1.85 MB , 下载次数: 543 , 售价: 1 金币)
《阿里巴巴Java开发手册(规约)》-蒿山版v1.7.0-共63页(52im.net).pdf (1.53 MB , 下载次数: 212 )

注1:阿里巴巴技术团队于2019年06月15日发布v1.5.0(华山版),并正式更名为《Java开发手册》!
注2:阿里巴巴技术团队于2020年04月22日发布v1.6.0(泰山版)!
注3:阿里巴巴技术团队于2020年08月03日发布v1.7.0(蒿山版)!

附录:全站精品资源下载


[1] 精品源码下载:
Java NIO基础视频教程、MINA视频教程、Netty快速入门视频 [有源码]
轻量级即时通讯框架MobileIMSDK的iOS源码(开源版)[附件下载]
开源IM工程“蘑菇街TeamTalk”2015年5月前未删减版完整代码 [附件下载]
微信本地数据库破解版(含iOS、Android),仅供学习研究 [附件下载]
NIO框架入门(四):Android与MINA2、Netty4的跨平台UDP双向通信实战 [附件下载]
NIO框架入门(三):iOS与MINA2、Netty4的跨平台UDP双向通信实战 [附件下载]
NIO框架入门(二):服务端基于MINA2的UDP双向通信Demo演示 [附件下载]
NIO框架入门(一):服务端基于Netty4的UDP双向通信Demo演示 [附件下载]
用于IM中图片压缩的Android工具类源码,效果可媲美微信 [附件下载]
高仿Android版手机QQ可拖拽未读数小气泡源码 [附件下载]
一个WebSocket实时聊天室Demo:基于node.js+socket.io [附件下载]
Android聊天界面源码:实现了聊天气泡、表情图标(可翻页) [附件下载]
高仿Android版手机QQ首页侧滑菜单源码 [附件下载]
开源libco库:单机千万连接、支撑微信8亿用户的后台框架基石 [源码下载]
分享java AMR音频文件合并源码,全网最全
微信团队原创Android资源混淆工具:AndResGuard [有源码]
一个基于MQTT通信协议的完整Android推送Demo [附件下载]
Android版高仿微信聊天界面源码 [附件下载]
高仿手机QQ的Android版锁屏聊天消息提醒功能 [附件下载]
高仿iOS版手机QQ录音及振幅动画完整实现 [源码下载]

[2] 精品文档和工具下载:
计算机网络通讯协议关系图(中文珍藏版)[附件下载]
史上最全即时通讯软件简史(精编大图版)[附件下载]
重磅发布:《阿里巴巴Android开发手册(规约)》[附件下载]
阿里技术结晶:《阿里巴巴Java开发手册(规约)-终极版》[附件下载]
基于RTMP协议的流媒体技术的原理与应用(技术论文)[附件下载]
独家发布《TCP/IP详解 卷1:协议》CHM版 [附件下载]
良心分享:WebRTC 零基础开发者教程(中文)[附件下载]
MQTT协议手册(中文翻译版)[附件下载]
经典书籍《UNIX网络编程》最全下载(卷1+卷2、中文版+英文版)[附件下载]
音视频开发理论入门书籍之《视频技术手册(第5版)》[附件下载]
国际电联H.264视频编码标准官方技术手册(中文版)[附件下载]
Apache MINA2.0 开发指南(中文版)[附件下载]
网络通讯数据抓包和分析工具 Wireshark 使用教程(中文) [附件下载]
最新收集NAT穿越(p2p打洞)免费STUN服务器列表 [附件下载]
高性能网络编程经典:《The C10K problem(英文)》[附件下载]
即时通讯系统的原理、技术和应用(技术论文)[附件下载]
技术论文:微信对网络影响的技术试验及分析[附件下载]
华为内部3G网络资料: WCDMA系统原理培训手册[附件下载]
网络测试:Android版多路ping命令工具EnterprisePing[附件下载]
Android反编译利器APKDB:没有美工的日子里继续坚强的撸
一款用于P2P开发的NAT类型检测工具 [附件下载]
两款增强型Ping工具:持续统计、图形化展式网络状况 [附件下载]

[3] 精选视频、演讲PPT下载:
YY直播在移动弱网环境下的深度优化实践分享(视频+PPT)[附件下载]
QQ空间移动端10亿级视频播放技术优化揭秘(视频+PPT)[附件下载]
RTC实时互联网2017年度大会精选演讲PPT [附件下载]
微信分享开源IM网络层组件库Mars的技术实现(视频+PPT)[附件下载]
微服务理念在微信海量用户后台架构中的实践(视频+PPT)[附件下载]
移动端IM开发和构建中的技术难点实践分享(视频+PPT)[附件下载]
网易云信的高品质即时通讯技术实践之路(视频+PPT)[附件下载]
腾讯音视频实验室:直面音视频质量评估之痛(视频+PPT)[附件下载]
腾讯QQ1.4亿在线用户的技术挑战和架构演进之路PPT[附件下载]
微信朋友圈海量技术之道PPT[附件下载]
手机淘宝消息推送系统的架构与实践(音频+PPT)[附件下载]
如何进行实时音视频的质量评估与监控(视频+PPT)[附件下载]
Go语言构建高并发消息推送系统实践PPT(来自360公司)[附件下载]
网易IM云千万级并发消息处理能力的架构设计与实践PPT [附件下载]
手机QQ的海量用户移动化实践分享(视频+PPT)[附件下载]
钉钉——基于IM技术的新一代企业OA平台的技术挑战(视频+PPT)[附件下载]
微信技术总监谈架构:微信之道——大道至简(PPT讲稿)[附件下载]
Netty的架构剖析及应用案例介绍(视频+PPT)[附件下载]
声网架构师谈实时音视频云的实现难点(视频采访)
滴滴打车架构演变及应用实践(PPT讲稿)[附件下载]
微信海量用户背后的后台系统存储架构(视频+PPT)[附件下载]
在线音视频直播室服务端架构最佳实践(视频+PPT)[附件下载]
从0到1:万人在线的实时音视频直播技术实践分享(视频+PPT)[附件下载]
微信移动端应对弱网络情况的探索和实践PPT[附件下载]
Android版微信从300KB到30MB的技术演进(PPT讲稿)[附件下载]

即时通讯网 - 即时通讯开发者社区! 来源: - 即时通讯开发者社区!

上一篇:重磅发布:《阿里巴巴Android开发手册(规约)》[附件下载]下一篇:海量实时消息的视频直播系统架构演进之路(视频+PPT)[附件下载]

本帖已收录至以下技术专辑

推荐方案
评论 18
有腾讯c++手册没
引用:x931609201 发表于 2018-03-09 09:41
有腾讯c++手册没

暂时没有
《代码整洁之道》
了解一下
哈哈. 不错
正在学习Java,感谢分享宝贵经验!
签名: 努力学习,天天向上!
牛逼啊
牛逼啊

。。。
感谢分享
阿里巴巴技术团队于2019年06月15日发布华山版-v1.5.0(已在本贴附件中提供下载),并正式更名为《Java开发手册》!!
阿里巴巴技术团队于2020年04月22日发布《Java开发手册v1.6.0-泰山版》,本贴附件下载已同步更新!
谢谢分享
签名: 周四咯
阿里巴巴技术团队于2020年08月03日发布《Java开发手册v1.7.0-蒿山版》,本贴附件下载已同步更新!
蒿山 是嵩山吧 这不跟我名字一样了吗
引用:李蒿 发表于 2020-11-03 11:03
蒿山 是嵩山吧 这不跟我名字一样了吗

我文化程度低,嵩居然被我打错了。。。
都嵩山版了。。
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部