今年年初,《阿里巴巴Java开发手册》正式发布,阿里官方Java代码规范标准首次对外公开。手册发布之后在业界、学术界都获得了广泛的关注,仅微博浏览量就突破千万,下载访问量超过40万,多家媒体主动转发,并将其称为「Java工程师必备宝典」。
业界开发者对手册也做出了高度的评价:
「这是多年在一线奋斗的阿里工程师宝贵经验和线上事故的总结升华,在规模化生产实践、质量控制中必不可少的方法。它能帮助同行们少走弯路,避免掉在不必要的坑里。」
——资深架构师李艳鹏
「阿里Java编程规约不是约束,而是一种难得的效率规范。有了它,团队协作,代码交接和传递更加容易和便捷。以后看别人的代码再也不用头疼了。」
——非著名程序员涩郎
「比起很多花哨的所谓技术和框架,这东西才是体现‘码农’ 和 ‘工程师’ 本质区别的地方。」
——知乎用户胖胖
同时,也有热心用户对排版布局、部分示例错误、前后矛盾等问题提出了宝贵的建议。在收集外部建议和阿里内部经验更新的基础上,阿里巴巴规约项目组正式推出《阿里巴巴Java开发手册》 1.2.0 升级版,堪称史上最完善版本。
《阿里巴巴Java开发手册》目录
升级亮点
一、排版布局
1)页码中的封面、前言、目录并不计入总页码,调整前言到目录之前。
2)一级标题统一换页;二级标题统一不换页,并在之前空一行。
3)增加附1(版本历史)和附2(专有名词说明)并各自单独成为一页。
二、示例修正
1)关于太阳年龄的示例错误。太阳年龄46亿,超过42亿的表示范围。
2)个别示例的代码不符合格式规约,尤其是String args[]的表示方式错误。
三、修正规则
1)修正countdown 描述错误。
2)修正final关于效率优化的错误描述。
3)修正异常捕捉的描述错误。
四、内容增加
1)增加“指定集合大小”的进一步说明。
2)增加卫语句的示例代码。
3)明确数据库表示删除概念的字段名为 is_deleted
识别上方二维码,关注“阿里技术”公众号
在阿里技术公众号回复“手册”二字
即可免费在线阅读&免费下载。
此手册从构思到现在的最新版本,历时两年,历经无数次内部针锋相对的讨论,迭代高达118次。该规约以Java开发者为中心视角,虽然只有短短的 2.2w字,却全面覆盖编程规约、异常日志规约、MySQL规约、工程规约、安全规约五大板块。
每一条规范几乎都经过千锤百炼实践的考验。从最初的周更新频率,降至现在的月度更新,后续的更新频度会以年为单位。在业界同仁的支持和努力下,规约已经越来越稳定,越来越完善。
手册愿景:码出高效、码出质量
阿里技术生态丰富,框架结构成熟,经历了超高并发的多年“双十一”实战考验,积累了丰富的Java实战经验。《阿里巴巴Java开发手册》本身就是阿里巴巴的内部编码规范,从命名到项目拆分,不仅规范了一些开发细节,也提出了很多工程开发的哲学。
如阿里巴巴系统软件事业部研究员毕玄所言,一个优秀的工程师和一个普通工程师的区别,不是现在满天飞的架构图,他的功底就是体现在他写的每一行代码上。
规约的目标是帮助开发者码出高效、码出质量,提升系统的质量、协作的高效性。计算机工程师这个行业很特殊,既像艺术家在创造富有个性的艺术品,又是一个需要团队合作的工作。《阿里巴巴Java开发手册》提倡算法效率和架构扩展的个性化,而不是代码风格随意化,尽量减少没有营养的“圣战”,如:4个空格、单行语句换行等。
未来展望:国际英文版&IDE智能扫描插件
这是一个广义的编码规范,一本随时可以查阅的技术参考,你在手册中可以找到很多的技术规范、最佳实践,避坑指南等,它是每一位优秀开发者手里的必备好书。
未来,阿里巴巴规约项目组将持续更新,推出国际英文版,并预计在今年9月杭州云栖大会发布众所期待的中文GitHub开源版本和IDE智能扫描插件,为开发者提供更多便利的服务,帮助企业和开发者切实提升代码质量、降低代码故障率。
关于阿里巴巴Java手册的最新进展,请关注“阿里技术”官方公众号,获得更多一手信息。
关注「阿里技术」
把握前沿技术脉搏