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]《码出高效》的两位作者阿里技术专家孤尽和鸣莎。

摘抄自:向代码致敬,寻找你的第83行代码!对话孤尽、鸣莎:《码出高效:Java开发手册》背后的故事

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、不写注释的程序猿一个月后再看自己的代码:?谁知道这是谁写的什么鬼东西……

  1. 扎心的真理:

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,操作更方便哦

阿里巴巴主导的“华山版《Java 开发手册》”简介的更多相关文章

  1. 解析一下阿里出品的泰山版 Java 开发手册

    说起华山,我就想起岳不群,不,令狐冲:说起泰山,我就想起司马迁,他的那句名言"人总有一死,或重于泰山,或轻于鸿毛",真的发人深省啊.这就意味着,阿里出品的泰山版 Java 开发手册 ...

  2. 2020阿里最新出品的泰山版Java开发手册,告别垃圾代码

    说起华山,我就想起岳不群,不,令狐冲:说起泰山,我就想起司马迁,他的那句名言"人总有一死,或重于泰山,或轻于鸿毛",真的发人深省啊.这就意味着,阿里出品的泰山版 Java 开发手册 ...

  3. 阿里出品的最新版 Java 开发手册,嵩山版,扫地僧

    说起嵩山,我就想起乔峰,想起慕容复,以及他们两位老爹在少林寺大战的场景.当然了,最令我印象深刻的就是那位默默无闻,却一鸣惊人的扫地僧啊.这次,阿里出品的嵩山版 Java 开发手册的封面就有一个扫地僧, ...

  4. 阿里巴巴Java开发手册(华山版).pdf

    https://github.com/alibaba/p3c/blob/master/阿里巴巴Java开发手册(华山版).pdf

  5. 阿里巴巴Java开发手册(华山版)

    插件下载地址: https://github.com/alibaba/p3c 2018年9月22日,在2018杭州云栖大会上,召开<码出高效:Java 开发手册>新书发布会,并宣布将图书所 ...

  6. 《阿里巴巴Java开发手册(正式版》读记

    前几天,阿里巴巴发布了<阿里巴巴Java开发手册(正式版>,第一时间下载阅读了一番. 不同于一般大厂内部的代码规范,阿里巴巴的这本Java开发手册,可谓包罗万象,几乎日常Java开发中方方 ...

  7. 阿里官方Java代码规范标准《阿里巴巴Java开发手册 终极版 v1.3.0》

    终极版 v1.3.0 2017年开春之际,阿里诚意献上重磅大礼:<阿里巴巴Java开发手册>,首次公开阿里官方Java代码规范标准.这套Java统一规范标准将有助于提高行业编码规范化水平, ...

  8. 阿里巴巴Java开发手册(详尽版)-个人未注意到的知识点(转)

    转自 https://blog.csdn.net/u013039395/article/details/86528164 一.编程规约 (一) 命名风格 [强制]代码中的命名只可用英文方式 [强制]类 ...

  9. 新增16条设计规约!阿里巴巴Java开发手册(详尽版)开放下载!

    <阿里巴巴Java开发手册>是阿里内部Java工程师所遵循的开发规范,涵盖编程规约.单元测试规约.异常日志规约.MySQL规约.工程规约.安全规约等,这是近万名阿里Java技术精英的经验总 ...

随机推荐

  1. 【实用工具】这些你不得不知道的chrome插件,让你事半功倍

    平时chrome插件用多了,发现在工作中有很多插件特别好用,让你事半功倍.于是我抽时间整理了一些非常好用的chrome插件分享给大家,其中有些插件是我已经离不开,每天都在用的.希望这篇文章能帮助你找到 ...

  2. 使用Typescript重构axios(十七)——增加axios.create接口

    0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...

  3. 安利一个绘制指引线的JS库leader-line

    前言 之前看到一篇推荐Magi这个搜索引擎的新闻,对于这个搜索引擎是否好用咱们不予置评,但是我在这个搜索引擎上面发现了一个好玩的前端功能. 如上图,将鼠标浮动到学习来源上时,会展示一堆指引线. 本博客 ...

  4. 小程序的基本概念-生命周期(组件 wxml)

    一.组件生命周期:一个组件从创建开始到使用中最后被销毁的过程 ---onLoad事件:组件(创建成功并且加载完成)触发一次 (1)当此事件触发发送请求获取数据 (2)获取其他组件传递数据(option ...

  5. python快速获取网页标准表格内容

    from html_table_parser import HTMLTableParser def tableParse(value): p = HTMLTableParser() p.feed(va ...

  6. Verilog模块概念和实例化#转载自Jason from Lofter

    Verilog模块概念和实例化 模块的概念 模块(module)是verilog最基本的概念,是v设计中的基本单元,每个v设计的系统中都由若干module组成. 1.模块在语言形式上是以关键词modu ...

  7. JenKins结合cppcheck及cpplint进行代码风格及静态代码检测

    JenKins结合cppcheck及cpplint 最近公司需要在Jenkins上安装cppcheck及cpplint进行代码风格及静态代码检测,这里记录下过程. 前提条件 安装了Jenkins 步骤 ...

  8. 查找文件或目录(find、locate、whereis、which、whatis)

    find命令:可以按文件名.文件的类型.用户等条件来递归查找文件或目录 find  [路径]  [匹配表达式] ,常用选项如下 -name filename  按文件名 -user username ...

  9. linux网络测试命令

    一.ping 它通过向目标主机发送一个个数据包以及接受数据包的回应来判断主机和目标主机之间网络连接情况.ping的两个功能:判断网络是否可达.网络性能统计. ping使用的是网络层的ICMP协议. p ...

  10. centos 更换用户密码

    腾讯云报告了我的服务器被暴力破解了.... 因此需要更换更复杂的password, 命令为:passwd  用户名,例如下我要更换root的password [root@VM_0_4_centos ~ ...