【资料】翘首期盼247天!《阿里巴巴Java开发手册》扫描插件详情介绍

简介: 经过247天的研发,阿里巴巴于10月14日上午9:00在杭州云栖大会《研发效能峰会》上,正式发布《阿里巴巴Java开发手册》扫描插件。

974713679d5fc7d1263f5038169b3d6461fec5e4

扫码或点我直达 免费领


引言:自从2月9日《阿里巴巴Java开发手册》面向业界公布以来,大家一直期待着静态化扫描工具的问世,在《手册》终极版发布时,我们曾经承诺将在2017杭州云栖大会上进行规约插件的全球发布。如今信守承诺,我们如约而至。

 

经过247天的研发,阿里巴巴于10月14日上午9:00在杭州云栖大会《研发效能峰会》上,正式发布《阿里巴巴Java开发手册》扫描插件。阿里巴巴高年级同学毕玄、玄难、索尼、叶渡,淘宝代码第一人多隆、代码规约作者孤尽携手《手册》项目组其他同学,以及业界规约生态代表等重磅大咖联合发布阿里巴巴代码规约插件!此刻,我们正式地通知全世界开发同学:插件可以下载啦!体验令人激动的自动化、智能化的插件协同工作,你们值得拥有!


 

代码规约插件全球发布现场




dd73e2125df25d232b200b2d62cfe990b4a6aeaa


c76ab5fc4f97f594b7079f120d82acbb054346bd


f14c3201d857e77aed7dba70ad684f38483589e8


 

插件是什么?

 

不知不觉《手册》问世半年多了,经过7个版本的迭代,发布了PDF终极版,相信很多人对其中的规则也有了一定的了解,很多人甚至希望能尽快在自己的团队推行起来,这样大家有了一套共同的开发准则。但是,如何更好的去遵守规则并且按照手册去开发我们的系统确变得不那么容易,为了让开发者更加方便、快速的将规范推动并实行起来,阿里巴巴基于手册内容,研发了一套自动化的IDE检测插件(IDEA、Eclipse), 该插件在扫描代码后,将不符合《手册》的代码按Blocker/Critical/Major三个等级显示在下方,甚至在IDEA上,我们还基于Inspection机制提供了实时检测功能,编写代码的同时也能快速发现问题所在。对于历史代码,部分规则实现了批量一键修复的功能,如此爽心悦目的功能是不是很值得拥有?提升代码质量,提高团队研发效能,插件将会一路同行。

 

IDEA插件安装

 

IDEA版的插件我们发布到了IDEA官方仓库中(最低支持版本14.1.7,JDK1.7+),只需打开 Settings >> Plugins >> Browse repositories 输入 Alibaba 搜索一下便可以看到对应插件了,点击安装等待安装完成。

 

至于如何使用请大家到官方[Github仓库](https://github.com/alibaba/p3c)中进行查看。

IDEA会自动检测插件新版,并提示出来,所以大家不用担心插件的更新问题。

 

Eclipse插件安装

Eclipse版插件支持4.2(Juno,JDK1.8+)及以上版本,我们提供自主的Update Site,通过 Help >> Install New Software 然后输入https://p3c.alibaba.com/plugin/eclipse/update 即可看到安装列表。

 

大家可以通过 Help >> Check for Udates 进行插件新版检测。

 

插件虽然已经开源,我们的阿里巴巴P3C项目组会长期维护插件的更新与维护,希望更多的人参与进来,除了发现和解决已实现的检测规则以外,能够实现更多的规则,让插件变得更加完善并且帮助到更多的开发者。



在使用过程中,有任何问题或建议,欢迎与代码规约作者孤尽联系,也欢迎加入P3C项目组,一起打造具有全球竞争力,效率/质量最优的一站式研发/运维/测试平台。邮件申请:guanbao.yanggb@taobao.com 



阿里巴巴P3C项目组:P3C是世界知名的反潜机,专门对付水下潜水艇,寓意是扫描出所有潜在的代码隐患。这个项目组是阿里巴巴开发爱好者自发组织形成的虚拟项目组,把《阿里巴巴Java开发手册》强制条目转化成自动化插件,并实现部分的自动编程。




 《阿里巴巴 Java 开发手册》细节描述:孤尽


《阿里巴巴 Java 开发手册》主要是面向 Java 开发群体, Java 做为面向对象语言,在业界的生命力还是非常强大的,技术生态丰富,框架结构成熟,经历了超高并发的“双十一”实战考验,阿里想把多年的 Java 技术积累回馈给 Java 开发者社区。在里面可以找到很多的技术规范、最佳实践,避坑指南等。


其中引入了数据库、安全、服务器等知识。现代软件行业的高速发展对于开发者的综合素质要求越来越高,因为不仅是编程知识,其它维度的知识结构也会影响到软件的最终交付质量。比如:数据库的表结构和索引设计缺陷可能带来软件上的架构缺陷或性能风险;工程结构混乱导致维护困难;没有鉴权的漏洞代码被黑客攻击等等。


《阿里巴巴 Java 开发手册》划分为编程规约、异常日志规约、单元测试、 MySQL 规约、工程规约、安全规约六大块。那么衍生的问题是为什么我们提到的这些看似与编码毫无关系的内容?有人提问,仅安全规约如果扩展开来可以是上百页的资料,不知道写在其中的意义何在?其实,主要关注的是与开发紧密相关的知识点,试问一个不知道水平权限校验的 Java 开发者,会是一个合格的程序员吗?这本手册不是提倡大家深究所有的知识点而成为安全专家、运维专家,而是关注在编码相关的生态知识上。


约束力等级为何是三级?《阿里巴巴 Java 开发手册》根据约束力强弱及故障敏感性,规约依次分为强制、推荐、参考三大类。强制是一种指令型的,是协作的 Gap,或是故障的痛点;而推荐,希望这样做是一件好事,大家都这样做,结构更清晰,协作更高效,但是不这样做也不会死。而参考分成两种情况:第一种是无法用代码量化的描述,提倡什么什么样的做法,如索引的创建索引时,宁滥勿缺的错误做法;第二种是真心觉得或左或右都可以,只是有倾向于一种,这个自由度由开发者自己把握。


扩展的说明、正例、反例用来表达什么?如果只是冷冰冰的条目,对于阅读者理解成本和记忆成本都是很大的挑战,《阿里巴巴 Java 开发手册》希望阅读者能够非常舒心地看完整个文档,掩卷遐思,亦有所得。具体来说,“说明”是对内容做了引申和解释,为求知其然;“正例”提倡什么样的编码和实现方式,推荐做法的其中之一;“反例”说明需要提防的雷区,以及真实的错误案例,让人知其不然。




 

相关实践学习
基于函数计算一键部署掌上游戏机
本场景介绍如何使用阿里云计算服务命令快速搭建一个掌上游戏机。
相关文章
|
1月前
|
Java Spring 容器
【Java】Spring如何扫描自定义的注解?
【Java】Spring如何扫描自定义的注解?
35 0
|
3月前
|
Java 数据库 数据安全/隐私保护
基于Java的公务员考试资料共享平台的设计与实现
基于Java的公务员考试资料共享平台的设计与实现
49 0
|
3月前
|
Java 关系型数据库 MySQL
兴奋!阿里巴巴首推“Java进阶必备宝典”,理论到实战,一键搞定
作为一名Java方向的程序员,打好夯实的基础是非常重要的,现在大厂面试对于程序员基础知识的掌握考察也越来越严格,虽然说现在技术更新比较快,但基础扎实才能够更深入的去理解每一个知识技术点。
|
4月前
|
XML JSON Java
Java实现post请求1688商品详情数据接口
Java实现post请求1688商品详情数据接口
52 0
|
3月前
|
Java
电子书阅读分享《Java开发手册(嵩山版)》
电子书阅读分享《Java开发手册(嵩山版)》
599 0
|
1月前
|
存储 算法 Java
超全面!阿里巴巴最新发布23年秋招200道Java面试题(含答案)
马上过34岁生日了,和大家聊聊最近的情况 半年前还在迷茫该学什么,怎样才能走出现在的困境,半年后已经成功上岸阿里,感谢在这期间帮助我的每一个人。 面试中总结了200道经典的Java面试题,里面包含面试要回答的知识重点,并且我根据知识类型进行了分类,可以说非常全面了~ 因为篇幅原因,大部分的内容就不给大家一一展示了,需要获取的小伙伴可以直接点击此处取到! Java平台相关 1、JDK、JRE、JVM 分别是什么关系? 2、为什么 Java 被称作是“平台无关的编程语言”? 3、Java 和 C++ 的区别? 4、什么是字节码?采用字节码的最大好处是什么? 5、Java运行的过程? 6、
87 4
|
1月前
|
存储 算法 Java
超全面!阿里巴巴最新发布23年秋招200道Java面试题(含答案)
马上过34岁生日了,和大家聊聊最近的情况 半年前还在迷茫该学什么,怎样才能走出现在的困境,半年后已经成功上岸阿里,感谢在这期间帮助我的每一个人。 面试中总结了200道经典的Java面试题,里面包含面试要回答的知识重点,并且我根据知识类型进行了分类,可以说非常全面了~ 因为篇幅原因,大部分的内容就不给大家一一展示了,需要获取的小伙伴可以直接点击此处取到! Java平台相关 1、JDK、JRE、JVM 分别是什么关系? 2、为什么 Java 被称作是“平台无关的编程语言”? 3、Java 和 C++ 的区别? 4、什么是字节码?采用字节码的最大好处是什么? 5、Java运行的过程? 6、
|
2月前
|
XML 监控 druid
【Java专题_02】springboot+mybatis+pagehelper分页插件+druid数据源详细教程
【Java专题_02】springboot+mybatis+pagehelper分页插件+druid数据源详细教程
|
2月前
|
Java
电子书阅读分享《Java开发手册(泰山版)》
电子书阅读分享《Java开发手册(泰山版)》
961 1
电子书阅读分享《Java开发手册(泰山版)》
|
3月前
|
设计模式 算法 NoSQL
阿里巴巴官方上线!号称国内Java八股文天花板(终极版)首次开源
真正有意义的就业与跳槽,是要进入到一个有绝对潜力的行业或者薪资能实现爆炸式增长的。这件事不容易,但也没有想象的遥不可及,现在大环境不好,机会也不如以前多,除了让自身技术能力过硬,面试更是要好好准备! 如何准备? 除了平时的技术积累与沉淀之外,剩下的就只能背八股了(虽然工作用不到,但面试就是要问,不背是不行的)。
80 0

热门文章

最新文章