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




 

目录
打赏
0
0
0
11
731
分享
相关文章
|
9月前
|
Java扫描某个文件夹且要保证不重复扫描,如何实现?
【10月更文挑战第18天】Java扫描某个文件夹且要保证不重复扫描,如何实现?
169 3
2025 最新 Java 面试资料及详细答案整理
这是一份全面的Java面试资料整合,涵盖基础到进阶技术知识点,包括Java核心语法、面向对象编程、异常处理、集合框架、JVM原理、多线程与并发编程、网络编程等。同时深入解析主流框架如Spring、MyBatis,以及项目实战经验分享。资料结合实例辅助理解,助你高效备考,提升面试竞争力。资源地址:[点击获取](https://pan.quark.cn/s/14fcf913bae6)。
406 6
GraalVM 24 正式发布阿里巴巴贡献重要特性 —— 支持 Java Agent 插桩
阿里巴巴是 GraalVM 全球顾问委员会的唯一中国代表,阿里云程序语言与编译器团队和可观测团队合作实现了 GraalVM 应用的无侵入可观测能力,并在 ARMS 平台上线了该功能。目前在 GraalVM 24 中发布的是支持 Java agent 的第一步,其余能力将在 GraalVM 的后续版本中陆续发布。
319 21
Java 大学期末考试真题与答案 含知识点总结 重难点归纳及题库汇总 Java 期末备考资料
本文汇总了Java大学期末考试相关资料,包含真题与答案、知识点总结、重难点归纳及题库,涵盖Java基础、面向对象编程、异常处理、IO流等内容,并提供完整代码示例与技术方案,助你高效复习备考。
55 3
Java 面试资料中相关代码使用方法与组件封装方法解析
这是一份详尽的Java面试资料代码指南,涵盖使用方法与组件封装技巧。内容包括环境准备(JDK 8+、Maven/Gradle)、核心类示例(问题管理、学习进度跟踪)、Web应用部署(Spring Boot、前端框架)、单元测试及API封装。通过问题库管理、数据访问组件、学习进度服务和REST接口等模块化设计,帮助开发者高效组织与复用功能,同时支持扩展如用户认证、AI推荐等功能。适用于Java核心技术学习与面试备考,提升编程与设计能力。资源链接:[点此下载](https://pan.quark.cn/s/14fcf913bae6)。
76 6
Java 面试资料中相关代码使用方法与组件封装方法解析
|
8月前
|
轻松上手Java字节码编辑:IDEA插件VisualClassBytes全方位解析
本插件VisualClassBytes可修改class字节码,包括class信息、字段信息、内部类,常量池和方法等。
428 6
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
189 14
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
java制作海报三:获取微信二维码详情,并改变大小,合成到海报(另一张图片)上
这篇文章介绍了如何使用Java获取微信小程序的二维码,并将其调整大小后合成到海报(另一张图片)上。
158 0
edge浏览器加载java插件
edge浏览器加载java插件
602 1
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)结构,便
145 1

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等