4006-998-758
新闻动态

黄山归来不看岳:《Java开发手册(黄山版)》新增 11 条规约

2022-02-21


孤尽——开课吧CTO、前阿里巴巴高级技术专家、《阿里巴巴 Java 开发手册》作者,曾担任阿里巴巴代码平台、资产平台部产研负责人职务,承担过双十一、国际化、代码中心等大型项目,在高并发、研发效能、系统架构等领域有着长期的深耕经验。


孤尽在阿里集团内部大型分享多达 30 余次,并多次在浙江大学、北京大学、 复旦大学、浙工大等高校与学生进行技术交流。


图片



— 1 —

版本沿革


孤尽老师:“最初的版本,没有名称,只有版本号,从1.0.0开始,后来感觉并不利于传播,改成以五岳来命名。因为华山最有武侠渊源,所以第一个版本叫做《华山版》,边上的码出真功有点向周星驰电影《功夫》最后的场景“如来神掌”致敬的味道;华山之后,去五岳至尊泰山朝圣,感受东海日出的壮观;泰山之后,去往嵩山,因为那里有一个金庸先生笔下武功最高的人物——扫地僧,所以封面用了扫地僧的原型。印象最深的是封面,太阳下的扫地僧在台阶上的影子,来来回回还改了好几次,为了逼真,我觉得影子需要有点折子的感觉,表达这是台阶上的影子;嵩山之后,不出意外是恒山版,为此还去了悬空寺,结果无意中发现恒山和衡山的发音居然完全相同,这个在表达上是大忌,增加无谓的共同成本;为此还公开征集下一个版本名称,收到:天山版,屏峰版,玉山版,黄山版......,最后选择了黄山版,是那句诗:五岳归来不看山,黄山归来不看岳,那就遗忘掉以前的版本。”


— 2 —

黄山版的更新之处?

>>排版上:

统一字号改小一号,条目之间统一留出0.5行的间距,即使本次新增11条,总页数还是从嵩山版的63页减少到本次的55页。


图片

>>内容上的其他更新如最后的版本历史所示:

图片

孤尽老师:“回归初心,码出高效,码出质量,码出快乐,从2015到2022,痛并快乐着,坚持公益,坚持我的,一路走到黄山。无论是排版,样式,说明,正反例,过年也是仔仔校对,细细勘察,相信黄山归来不看岳,《Java开发手册(黄山版)》,相信我辈程序员值得拥有哈~“


— 3 —

五岳归来不看山,黄山归来不看岳!


《Java 开发手册》是阿里巴巴和开课吧技术团队的集体智慧结晶和经验总结,经历了多次大规模一线实战的检验及不断完善,公开到业界后,众多社区开发者踊跃参与打磨完善,系统化地整理成册,当前的最新版本是黄山版。


现代软件行业的高速发展对开发者的综合素质要求越来越高,因为不仅是编程知识点,其它维度的知识点也会影响到软件的最终交付质量。比如:五花八门的错误码会人为地增加排查问题的难度;数据库的表结构和索引设计缺陷带来的系统架构缺陷或性能风险;工程结构混乱导致后续项目维护艰难;没有鉴权的漏洞代码容易被黑客攻击等。所以本手册以Java 开发者为中心视角,划分为编程规约、异常日志、单元测试、安全规约、MySQL 数据库、工程结构、设计规约七个维度,再根据内容特征,细分成若干二级子目录。此外,依据约束力强弱及故障敏感性,规约依次分为【强制】、【推荐】、【参考】三大类。在延伸的信息中,“说明”对规约做了适当扩展和解释;“正例”提倡什么样的编码和实现方式;“反例”说明需要提防的雷区,以及真实的错误案例。


手册的愿景是码出高效,码出质量。现代软件架构的复杂性需要协同开发完成,如何高效地协同呢?无规矩不成方圆,无规范难以协同,比如,制定交通法规表面上是要限制行车权,实际上是保障公众的人身安全,试想如果没有限速,没有红绿灯,谁还敢上路行驶?对软件来说,适当的规范和标准绝不是消灭代码内容的创造性、优雅性,而是限制过度个性化,以一种普遍认可的统一方式一起做事,提升协作效率,降低沟通成本。代码的字里行间流淌的是软件系统的血液,代码质量的提升是尽可能少踩坑,杜绝踩重复的坑,切实提升系统稳定性,码出质量。


2017 年杭州云栖大会上发布了配套的 Java 开发规约 IDE 插件,下载量已达到 275 万人次,阿里云效也集成了代码规约扫描引擎。2018年9月在云栖厅发布 36 万字的配套详解图书《码出高效》,秉持“图胜于表,表胜于言”的理念,深入浅出地将计算机基础、面向对象思想、数据结构与集合、JVM 探源与内存分析、并发与多线程、单元测试等知识丰富立体地呈现出来。本书紧扣学以致用、学以精进的目标,结合一线开发的实践经验和故障案例,与底层源码解析融会贯通,娓娓道来。《码出高效》和《Java 开发手册(第 2 版)》稿费所得收入均捐赠公益事情,希望用技术情怀帮助到更多的人。


五岳归来不看山,黄山归来不看岳!从2015年到2022年,希望这是爱因斯坦的第三个小板凳,点点滴滴,希望对大家的程序员生涯有帮助。

以上内容摘自孤尽《Java开发手册(黄山版)》前言。

图片

识别图中二维码”即可下载《Java开发手册(黄山版)》



返回列表