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

本文共 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://haxco.baihongyu.com/

你可能感兴趣的文章
HDU1150 Machine Schedule
查看>>
固定宽度布局
查看>>
作业七:Linux内核如何装载和启动一个可执行程序
查看>>
啥是JSONP---转
查看>>
BP神经网络
查看>>
H5新手教程,小白来看看。
查看>>
springMVC异常处理
查看>>
shiro权限配置的细节问题&认证
查看>>
地址重用REUSEADDR
查看>>
记一次缓存瓶颈处理
查看>>
设置Textview最大长度,超出显示省略号
查看>>
小程序开发二三事--图片错误显示默认图
查看>>
Getting Started with Java
查看>>
快速判断&求出区间相交的长度
查看>>
PHP的四种基础算法之冒泡排序
查看>>
js 小数取整,js 小数向上取整,js小数向下取整
查看>>
滚动事件:document.body.scrollTop总是0的原因
查看>>
从头到尾彻底理解KMP
查看>>
php 字符串截取函数
查看>>
mysql 自定义函数与自定义存储过程的调用方法
查看>>