【资料】翘首期盼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 开发手册》希望阅读者能够非常舒心地看完整个文档,掩卷遐思,亦有所得。具体来说,“说明”是对内容做了引申和解释,为求知其然;“正例”提倡什么样的编码和实现方式,推荐做法的其中之一;“反例”说明需要提防的雷区,以及真实的错误案例,让人知其不然。




 

相关文章
|
2月前
|
存储 Java
Java扫描某个文件夹且要保证不重复扫描,如何实现?
【10月更文挑战第18天】Java扫描某个文件夹且要保证不重复扫描,如何实现?
70 3
|
1月前
|
Java
轻松上手Java字节码编辑:IDEA插件VisualClassBytes全方位解析
本插件VisualClassBytes可修改class字节码,包括class信息、字段信息、内部类,常量池和方法等。
101 6
|
3月前
|
Arthas Java 测试技术
Java字节码文件、组成,jclasslib插件、阿里arthas工具,Java注解
Java字节码文件、组成、详解、分析;常用工具,jclasslib插件、阿里arthas工具;如何定位线上问题;Java注解
Java字节码文件、组成,jclasslib插件、阿里arthas工具,Java注解
|
3月前
|
安全 Oracle Java
edge浏览器加载java插件
edge浏览器加载java插件
235 1
|
3月前
|
XML JavaScript Java
NekoHTML 是一个基于Java的HTML扫描器和标签补全器
**NekoHTML** 是一个基于Java的HTML扫描器和标签补全器(tag balancer),由J. Andrew Clark开发。它主要用于解析HTML文档,并能够“修正”许多在编写HTML文档过程中常犯的错误,如增补缺失的父元素、自动用结束标签关闭相应的元素,以及处理不匹配的内嵌元素标签等。这使得程序能够以标准的XML接口来访问HTML文档中的信息。 ### NekoHTML的主要特点包括: 1. **错误修正**:能够自动修正HTML中的常见错误,如未闭合的标签等。 2. **DOM树生成**:将HTML源代码转化为DOM(Document Object Model)结构,便
|
2月前
|
算法 小程序 Java
java制作海报三:获取微信二维码详情,并改变大小,合成到海报(另一张图片)上
这篇文章介绍了如何使用Java获取微信小程序的二维码,并将其调整大小后合成到海报(另一张图片)上。
52 0
|
3月前
|
算法 Oracle Java
Java字符串拼接技术演进及阿里巴巴的贡献
本文主要讲述了Java字符串拼接技术的演进历程,以及阿里巴巴贡献的最新实现 PR 20273。
140 11
|
3月前
|
安全 Java 关系型数据库
代码规范Java阿里巴巴
本文介绍了阿里巴巴的《Java开发手册》,这是一份业界公认的代码规范手册,涵盖编程规约、异常日志、单元测试、安全规约、MySQL数据库、工程结构、设计规约七个维度。手册通过强制、推荐、参考三大类规约,详细指导开发者编写高质量的Java代码。文中还提供了常见问题的正反例对比,如方法参数类型一致性、SimpleDateFormat线程安全等问题的解决方案。此外,还介绍了如何安装和使用阿里规范插件来提高编码效率。
704 9
|
3月前
|
算法 Oracle Java
Java字符串拼接技术演进及阿里巴巴的贡献
本文主要讲述了Java字符串拼接技术的演进历程,以及阿里巴巴贡献的最新实现 PR 20273。
|
4月前
|
小程序 JavaScript Java
【资料】阿里Java开发手册
本文是关于分享阿里Java开发手册资源及促进编程规范学习的指南。作者以个人经历引入,讲述了公司领导通过细致讲解阿里Java开发手册,提升了团队对代码质量和编程规范的认识
1016 0
【资料】阿里Java开发手册
下一篇
DataWorks