1、“83行代码计划”项目介绍(转自github):
2018年9月22日,在2018杭州云栖大会上,召开《码出高效:Java 开发手册》新书发布会,并宣布将图书所有收益均捐赠于技术公益项目“83行代码计划”。
阿里巴巴正式在2018杭州云栖大会《开发者生态峰会》上,由阿里巴巴高年级同学中间件负责人林昊、阿里巴巴研究员刘湘雯、阿里巴巴研究员刘国华,OpenJDK社区Committer杨晓峰,全栈视障工程师蔡勇斌,电子工业出版社博文视点出版公司总经理郭立以及两位图书作者杨冠宝(孤尽)和高海慧(鸣莎)重磅大咖联合发布新书《码出高效:Java开发手册》(跳转至天猫书店),并宣布将图书所有收益均捐赠于技术公益项目“83行代码计划”,第一个“83行代码计划”行动,将围绕着帮助盲人工程师,开发更多无障碍化产品,让盲人上网更便捷。未来,我们会坚持用技术为公益行业赋能,也希望更多人成为技术受益者。
2017年10月14日杭州云栖大会,Java代码规约扫描插件全球首发仪式正式启动,规范正式以插件形式公开走向业界,引领Java语言的规范之路。目前,插件已在云效公有云产品中集成,立即体验!(云效>公有云>设置->测试服务->阿里巴巴Java代码规约)。
2、为什么命名为“83行代码计划”?
2018年4月初在阿里的一个“小黑屋”会议室里,5名对代码有着极致追求的程序员参与了阿里代码领域最高荣誉“多隆奖”最终角逐。多隆作为淘宝的第一代程序员,也是很多技术人心中的大神。
(多隆Review第83行代码时专注的眼神,简直酷帅~)
那天代码评审现场,看到某代码片段最后结尾,多隆突然补上一句,往上翻看下第83行。代码一般都是几百行,他看到最后,居然还记得第83行的一个细微瑕疵,这得是对代码怀着怎样的敬畏之心。为什么叫“83行代码计划”?孤尽[1]解释道,阿里高级研究员多隆当时在最佳质量代码评选现场,翻看代码时,说了一句“83行代码返回去再看一下。”当时,我们觉得多隆作为一个合伙人级别的技术人还能这么执着与认真的对待每一行代码,让我们很感动,因此,我们把这个公益计划命名为“83行代码计划”。
[1]《码出高效》的两位作者阿里技术专家孤尽和鸣莎。
3、《阿里巴巴Java开发手册》这本书都讲了啥?
上面介绍了这么多,好像都没有讲到主要的!这本书都了啥?Java代码规约?这个啥意思?好像有点抽象啊?下面进入正题:
** P3C**
Preface:We are pleased to present Alibaba Java Coding Guidelines which consolidates the best programming practices over the years from Alibaba Group's technical teams. A vast number of Java programming teams impose demanding requirements on code quality across projects as we encourage reuse and better understanding of each other's programs. We have seen many programming problems in the past. For example, defective database table structures and index designs may cause software architecture flaws and performance risks. Another example is confusing code structures being difficult to maintain. Furthermore, vulnerable code without authentication is prone to hackers’ attacks. To address these kinds of problems, we developed this document for Java developers at Alibaba.
(前言:我们很高兴向您介绍阿里巴巴Java编程规范,它整合了阿里巴巴集团技术团队多年来的最佳编程实践。随着我们鼓励重用和更好地理解彼此的程序,大量的Java编程团队对跨项目的代码质量提出了苛刻的要求。我们在过去已经看到了许多编程问题。例如,有缺陷的数据库表结构和索引设计可能会导致软件体系结构缺陷和性能风险。另一个例子是难以维护的代码结构。此外,没有身份验证的脆弱代码容易受到黑客攻击。为了解决这些问题,我们为阿里巴巴的Java开发人员开发了这个文档。)
该手册以 Java 开发者为中心视角,划分为编程规约、异常日志、单元测试、安全规约、MySQL 数据库、工程结构、设计规约七个维度,再根据内容特征,细分成若干二级子目录。根据约束力强弱及故障敏感性,规约依次分为强制、推荐、参考三大类。对于规约条目的延伸信息中,“说明”对规约做了适当扩展和解释;“正例”提倡什么样的编码和实现方式;“反例”说明需要提防的雷区,以及真实的错误案例。
宗旨:码出高效,码出质量。
简单点说就是:该手册对一些不规范的编码方式或风格以及容易出错的地方,给出了比较规范的“标准”,规范根据程度分为三种强制、推荐、参考,并给出了一些示范;参照该规范可以让我们在高效编码的同时,保证质量。
调侃:
1、程序猿最烦的3件事:①代码要写注释 ②别人的代码不写注释。
2、不写注释的程序猿一个月后再看自己的代码:?谁知道这是谁写的什么鬼东西……
- 扎心的真理:
4.头痛的原因:
手册目录:
我们来实际看个例子吧:一(四)OOP(面向对象编程)规约:
这个例子已经讲的很清楚了,不用我解释你也应该懂了吧!虽然现在看起来挺简单的,但是如果不是看了手册,我平时也不会特别去注意这个问题。
虽然这本书册不是很厚,但是就算看完了,也不一定能在编码时全部记住啊!那怎么办呢?《阿里巴巴Java开发规约》扫描插件闪亮登场!妹妹你大胆地向前走,出现问题,哥哥我会告诉你!
4、《阿里巴巴Java开发规约》扫描插件
该插件由阿里巴巴P3C项目组研发(孤尽老师对p3c的解析:P3C是反潜机代号,扫描水下隐患。)。这个项目组是阿里巴巴开发爱好者自发组织形成的虚拟项目组,把《阿里巴巴Java开发规约》强制条目转化成自动化插件。你写完代码后,用该插件扫描一下,如果编码不符合规约的就会给出不同程度的提醒,以及详细的违反的规约条目,帮助你改正。
该插件已开源到github,网址:https://github.com/alibaba/p3c(注:该书最新版的电子书也发布在该项目中),集成插件分为IDEA和eclipse,安装和使用里面都有详细的介绍,这里就不多说了。
还有很一个很重要的特点:同时支持中英文!如果你的英语不是很好,一开始你可能会看不懂英文的规范,那么你可以用中文版的;如果你的英语比较好,或者是你已经使用该插件有段时间了、比较熟悉了、想和国际接轨,那么你可以一键转换为英文版(国际版)。
5、最近更新:2019.6.27 华山版《Java开发手册》现身江湖
最近比较大的更新为6月份的,有总结了一些新的规约,修改了部分内容,上线了新的手册和插件。
(1)、封面(一眼望去,武侠之风甚浓!)
(2)、尾页更新说明:
(3)、官方解读:https://developer.aliyun.com/special/tech-java
备注:
(1)不知道你有没有注意到,这里其实有两本书:
一本是《 阿里巴巴Java开发手册》:由手册后面的版本历史我们可以知道,2016年12月07日,试读版本首次对外发布(后续版本可参考手册)。2017年10月14日,杭州云栖大会,Java代码规约扫描插件全球首发仪式正式启动,规范正式以插件形式公开走向业界,引领Java语言的规范之路。2017年12月20日,在北京国家会议中心举办的“2017云栖大会·北京峰会”上,由电子工业出版社博文视点公司出版的《阿里巴巴Java开发手册》正式发布。
另一本是《码出高效:Java 开发手册》:2018年9月22日,在2018杭州云栖大会上,召开新书发布会。
(2)因为该手册和项目受到越来越多人的喜爱与并且参与,所以后面将阿里巴巴去掉,改名为《java开发手册》。
(3)之所以命名为“华山版”,孤尽老师的解释是:前面已经把能用的名字都用完了……(可不是嘛!1.0.0公开版、1.1.0正式版、1.2.0升级版、1.3.0终极版、1.4.0详尽版),然后想带大家领略中国的大好河山,决定后面以此为依据命名。
还有一点就是马爸爸早年对金庸武侠很是热衷,创立阿里初期把金庸文化融入到阿里的企业文化中了;后来,第一次与金庸先生见面,又是“一见如故,相识恨晚”与金庸先生成为忘年交,与金庸先生的交流就更好了,多次邀请他到阿里去参加一些大型的活动……。而华山在金庸武侠中又是武侠氛围很浓重的名山,故有次名。(虽然不记得孤尽老师的原话了,但是大意类似……)
(4)为方便不会使用github的人,我把该项目下载,并上传到了CSDN和百度云,有需求的自取。(包含开发手册和项目)
(如果不懂github的)如果有CSDN积分,可光顾我的上传的资源:阿里巴巴Java开发手册
如果没有积分,可在文末的百度网盘中下载。
链接:https://pan.baidu.com/s/1piQcQzvUB3gZJnZJNOrOcg
提取码:8il9
复制这段内容后打开百度网盘手机App,操作更方便哦