2018 年 12 月 22 日,由博文视点组织的《码出高效:Java 开发手册》作者见面会暨签售仪式在北京举行,InfoQ 对书籍作者孤尽(杨冠宝)、鸣莎(高海慧)进行了采访,了解了此书出版背后的一些细节。
《码出高效:Java 开发手册》由电子工业出版社于 2018 年 10 月份首次出版发行。本书结合一线的开发实践以及 JDK 中的设计理念,是面向初学者的 Java 学习指南,也是 Java 编码的最佳实践。同时,它也是之前阿里发布的《Java 开发手册》中代码规约的来龙去脉的一个全面梳理,解释规约是怎么来的。
《码出高效》最早在 2018 年 9 月杭州云栖大会上宣布,包括马云、行癫、鲁肃都为该书写了推荐,该书的编委会包括毕玄、索尼、多隆等阿里的技术高管,也对该书的问世起了大力推动作用。指南 2017 年初,阿里发布《阿里巴巴 Java 开发手册》,首次公开阿里官方 Java 代码规范标准。手册涵盖编程规约、单元测试规约、异常日志规约、MySQL 规约、工程规约、安全规约等,这是近万名阿里 Java 技术精英的经验总结,并经历了多次大规模一线实战检验及完善。同时阿里也发布了开源的 Java 规约 IDE 插件p3c,以帮助企业和个人使用规约。
Java 开发手册的作者孤尽是阿里集团代码中心的负责人,在阿里历任技术研发、架构师、部门主管等不同角色,承担过双十一、国际化、代码中心等大型项目,在大数据、高并发、分布式、代码效能等领域均有较深造诣。书籍合作作者鸣莎是阿里云资深开发工程师,先后在阿里集团 B2B 技术部和阿里云任职,承担过商业化、双十一、智能调度及 10 亿/天的信息采集系统建设等大型项目。
据孤尽介绍,阿里集团目前的代码量十分庞大,所有代码加起来容量达到 35TB。阿里将代码视为最重要的数字资产之一,每次投资并购后做的第一件时间就是拿到对方的代码。如此庞大的代码库,离不开流程和标准的制定,但 Java 社区里并没有一份比较全面的,能适合阿里集团使用的代码规范,于是集团决定打造自己的 Java 规约并在全集团内推广,这就是 Java 开发手册诞生的背景。
阿里在 Java 领域钻研很深,不仅使用 Java 开发的全球访问量最大的服务器集群,还推出了自己的 AliJVM,发布了如 Dubbo、JStorm、fastjson 等 Java 开源项目,最近还连续两年获得 JCP 委员会席位,在国际 Java 社区的影响力也日渐扩大,阿里将规约对外公布,也可视为对 Java 社区的回馈。自规约公布并发布英文版本后,也得到了国外开发者的赞誉。
目前,阿里 Java 规约已经在社区得到广泛的应用,据孤尽介绍,规约 p3c 插件在外部下载量超过 56 万,并且已有一些大公司采用。在阿里内部,规约已经覆盖菜鸟、蚂蚁金服,成为整个阿里经济体规范,p3c 插件已经覆盖了 90%的 Java 团队,日活超过 40%,累计扫描出的潜在错误高达 1 亿个。
不过,代码规范的推广并不容易,即使是在阿里内部。因为有些团队有自己的规范,在不同规范之间切换需要成本,而切换之后对其本身在短期内很难看到明显的收益。最终,这个规范还是在集团的技术高层的强力推动下执行下去了,现在阿里招进的 Java 新人,在培训的时候第一课就是学习规约。阿里还打造了配合规约的认证考试,不仅集团内部要考,还对外部开放了。
在书籍的最后,孤尽提到,要在团队内部推广规范,需要做到三点:
立法透明:规约的每一条应该尽量由团队讨论得出,达成共识,规约还要根据技术的发展而变化;
执法坚定:需要用强有力的约束来保证规约得到遵守,也要通过软性的文化建设来培养对代码质量的重视;
组织支持:规约是一个管理决定,在推进过程中经常遇到各种抵触和困难,需要组织坚定推进的决心,给予权限和资源等方面的支持。
在 9 月份的云栖大会上发布《码出高效》书籍的时候,团队还宣布书籍的收入将全部捐献给公益项目,资助残障人士学习编程。孤尽等也希望这本书能帮助到更多喜欢编程的人,促进 Java 生态的健康发展。
评论