博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《码出高效:Java开发手册》背后的故事
阅读量:6435 次
发布时间:2019-06-23

本文共 1608 字,大约阅读时间需要 5 分钟。

2018年12月22日,由博文视点组织的《码出高效:Java开发手册》作者见面会暨签售仪式在北京举行,InfoQ对书籍作者孤尽(杨冠宝)、鸣莎(高海慧)进行了采访,了解了此书出版背后的一些细节。

《码出高效:Java开发手册》由电子工业出版社于2018年10月份首次出版发行。本书结合一线的开发实践以及JDK中的设计理念,是面向初学者的Java学习指南,也是Java编码的最佳实践。同时,它也是之前阿里发布的《Java开发手册》中代码规约的来龙去脉的一个全面梳理,解释规约是怎么来的。

225fbf05add13cf24dd72983e0f9e47a.jpeg

《码出高效》最早在2018年9月杭州云栖大会上宣布,包括马云、行癫、鲁肃都为该书写了推荐,该书的编委会包括毕玄、索尼、多隆等阿里的技术高管,也对该书的问世起了大力推动作用。指南2017年初,阿里发布《阿里巴巴Java开发手册》,首次公开阿里官方Java代码规范标准。手册涵盖编程规约、单元测试规约、异常日志规约、MySQL规约、工程规约、安全规约等,这是近万名阿里Java技术精英的经验总结,并经历了多次大规模一线实战检验及完善。同时阿里也发布了开源的Java规约IDE插件,以帮助企业和个人使用规约。

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生态的健康发展。

转载地址:http://alhga.baihongyu.com/

你可能感兴趣的文章
数据结构思维 第三章 `ArrayList`
查看>>
CentOS6、7编译安装FFmpeg
查看>>
Android项目实战(二十九):酒店预定日期选择
查看>>
PHP IDE phpstorm 常用快捷键
查看>>
蓝牙的未来怎样发展?
查看>>
AI、新材料、5G、智慧城市,未来的社会场景在高交会提前上演
查看>>
Facebook开发的一种数据查询语言——GraphQL:安全概述和测试技巧
查看>>
ECS主动运维2.0,体验升级,事半功倍
查看>>
vim 学习方法
查看>>
php token验证范例
查看>>
WebSocket的C++服务器端实现
查看>>
java中两种添加监听器的策略
查看>>
脑洞成现实!AI系统可提前10s预测地震
查看>>
Page页面生命周期——微信小程序
查看>>
Node.js编写CLI的实践
查看>>
Javascript数组对象的方法和属性
查看>>
oracle数据库的启动和停止
查看>>
《LoadRunner没有告诉你的》之七——使用 LoadRunner 连续长时间执行测试,如何保证参数化的数据足够又不会重复?...
查看>>
python easy_install django 安装
查看>>
读《图解HTTP》总结--第六章
查看>>