第2版前言
《阿里巴巴Java开发手册(第2版)》(以下简称“《手册》”)是阿里巴巴集团技术团队的集体智慧结晶和经验总结,经历了多次大规模一线实战的检验及不断完善,公开到业界后,众多社区开发者踊跃参与,共同打磨完善,系统化地整理成册。在第1版基础上,认真倾听读者反馈,学习开源社区的详细建议,增加前后端规约,发布错误码解决方案,修正架构分层图例等相关内容,涉及59条新规约,修正202处原有规约,完善8个示例,是面向业界3年以来更为完善的版本。
现代软件行业的高速发展对开发者的综合素质要求越来越高,除了编程知识点,其他维度的知识点也会影响到软件的最终交付质量。比如,五花八门的错误码导致排查问题困难重重,数据库的表结构和索引设计缺陷带来系统架构缺陷或性能风险,工程结构混乱导致后续项目维护艰难,没有鉴权的漏洞代码易被黑客攻击等。因此,《手册》以Java开发者为中心视角,划分为编程规约、异常日志、单元测试、安全规约、MySQL数据库、工程结构、设计规约七个维度,再根据内容特征,细分成若干二级子目录。
另外,依据约束力强弱及故障敏感性,规约依次分为【强制】、【推荐】和【参考】三大类。在延伸信息中,“说明”对规约做了适当扩展和解释,“正例”表示提倡的编码和实现方式,“反例”表示需要提防的雷区,以及真实的错误案例。
《手册》的愿景是码出高效,码出质量。现代软件架构的复杂性需要协同开发完成,如何高效地协同呢?无规矩不成方圆,无规范难以协同,比如,制定交通法规表面上是要限制行车权,实际上是保障公众的人身安全。试想,如果没有限速,没有红绿灯,谁还敢上路行驶?对软件开发来说,适当的规范和标准绝不是消灭代码内容的创造性、优雅性,而是限制过度个性化,以一种普遍认可的统一方式一起做事,提升协作效率,降低沟通成本。代码的字里行间流淌的是软件系统的血液,质量的提升是尽可能少踩“坑”,杜绝踩重复的“坑”,切实提升系统稳定性。
我们已经在2017年杭州云栖大会上发布了配套的“Java开发规约IDE插件”,下载量达到160万人次,阿里云效也集成了代码规约扫描引擎。2018年,我们发布了36万字的配套详解图书《码出高效:Java开发手册》,该书秉持“图胜于表,表胜于言”的理念,深入浅出地将计算机基础、面向对象思想、JVM探源、数据结构与集合、并发与多线程、单元测试等知识客观而立体地呈现出来,紧扣学以致用、学以精进的目标,结合阿里巴巴实践经验和故障案例,与底层源码解析融会贯通、娓娓道来。《码出高效:Java开发手册》和《手册》图书出版所得收入均捐赠公益事业,希望用技术情怀帮助更多的人。