独家视频教程,玩转《阿里巴巴Java开发手册》P3C扫描插件

简介: 《阿里巴巴Java开发手册》IDE插件(包括PMD规则实现库)正式对外开源,如何快速掌握插件使用技巧,快速体验令人激动的自动化、智能化的插件协同工作?阿里巴巴Java开发手册P3C项目IDE插件主要开发者骏烈和云效在线扫描主要开发者胜燕,在云栖社区直播间,首次为大家提供视频教程,教大家玩转插件和在线扫描。
974713679d5fc7d1263f5038169b3d6461fec5e4
扫码或 点我直达 免费领

《阿里巴巴Java开发手册》IDE插件(包括PMD规则实现库)正式对外开源,如何快速掌握插件使用技巧,快速体验令人激动的自动化、智能化的插件协同工作?阿里巴巴Java开发手册P3C项目IDE插件主要开发者骏烈和云效在线扫描主要开发者胜燕,在云栖社区直播间,首次为大家提供视频教程,教大家玩转插件和在线扫描。

点击收看直播视频

插件操作

操作演示:大家结合 文档《阿里巴巴Java开发手册》IDEA插件与Eclipse插件使用指南直播视频一起看,效果会更好!

常见问题:

1.Code Style配置问题

很多用户提出希望能够提供一份统一的Code Style配置,但通过Eclipse、IDEA自己的配置无法做到两个平台完全统一。在各种取舍的情况下仍然会有几个不同点,如下:
  • 分号,IDEA设置的After Semicolon 会对for所有分号后面加空格,Eclipse 设置insert space after Semicolon in for则不会。
  • 缩进策略不一致,如方法调用折行后的缩进。
  • 类注释 IDEA会对描述进行缩进,Eclipse有配置项,但是同时对方法、类注释生效。

解决办法有两个:

  • 提供一份Eclipse的配置,IDEA端使用Eclipse Code Formatter之类的插件来做到格式化统一。但对于IDEA用户不够友好,也不够灵活。
  • 提供类似Google Code Format插件的功能,这个目前暂时还未做支持,感兴趣的同学可以联系我们。

2.Eclipse体验优化

目前已经有Eclipse方面的专家加入进来,各方面的优化、改进事项都在规划中,非常欢迎大家提出自己的宝贵意见或者加入进来。

3.eclipse-plugin、idea-plugin和p3c-pmd三个工程之间的关系

  • p3c-pmd提供大部分规则实现,基于PMD框架开发,如果想实现自己的规则,可以先看看PMD相关文档。
  • eclipse-plugin依赖p3c-pmd的实现,并且实现了4条需要跨文件扫描的规则。
  • IDEA与eclipse类似,也是依赖p3c-pmd的实现,同时实现了4条需要跨文件扫描的规则。

点击详情咨询


在线扫描

云效怎么做在线扫描,怎么与code集成?集成之后,怎么通过多维度的报表数据,来提升代码质量,最终达到公司代码规范统一?

案例分享:

首先,用IDE插件本地扫描的一个Demo。

b22e92cb6d15e2aa6c02534afee2831f579c5642

然后,我们会看到云效扫描的问题数,对应的扫描问题,以及在对应的代码多少行,都能够在云效系统看的清清楚楚。

026a105682b962903c967a38111a14c835e7114a

有时候开发只想知道增量有没有问题?历史问题太多修复不过来,我们需要保证新增的代码有没有问题。可以将P3C规则集成在code系统中,在阿里内部已经进行了这样一个集成。如下图所示,提交code review的时候,会自动将增量代码扫描,然后知道增量代码的质量是怎样的。

c1ca79abbc15d26ed850a15c9a74faf2def43179

这些都做完以后,我们可以将各类应用的代码扫描数据做成报表,每周可以发代码质量报告。俗话说得好,只有数据才能促进研发效能的提升。我们通过这份报表,看到谁做得好或不好,一目了然,逐渐地就可以将公司的代码规范,真正的工具化落地实施。

695315073f18bdfd136f01d838f8ff580f464354

在线扫描演示:(可结合 直播视频

首先,打开云效-测试服务 在线扫描入口,点击测试服务,然后点击阿里巴巴Java代码规约扫描,输一个测试任务名称,填写一下阿里云的代码库地址,将这个code代码库地址复制粘贴过来,代码分支不填的话默认是master分支,然后点击确定,确定以后在右上角点运行,就可以对这个代码库进行一个扫描。不仅可以扫描自己的代码,还可以扫描别人公开的代码。

195f1cd1140453356dde8f713f636da1fcb33b02

然后,刷新一下页面,大概等几十秒吧,可以看到下图显示的结果。可以看到这个代码库总共有62个问题,blockers是0,critical是1,然后major是61。点开可以看到报告的具体详情,比如哪些文件违反了哪些规则,以及哪些规则违反了多少次,都一目了然,接着可以对照这个报告来修复问题。当然我们会建议用户直接在本地进行修复。

60dac8357e2a8e87efb5bd541ce0fbdff3d7aa6a

除了提供扫描工具,云效还提供从“需求->开发->测试->发布->运维->运营”端到端的协同服务和研发工具支撑。在发布流程中,也可以加规约扫描。打开流水线项目,点击流水线,打开一个配好的,先构建然后进行代码规约的扫描,扫描后自动做一个单元测试,然后自动部署。

29e7bcd65f18a7ef43015df761ae940388233add

流水线有很多属性
可以扫描/长按识别下图二维码体验!
f85a34baedf7118487f1e7b06d70dc07742de56a


常见问题:

1.P3C怎么与gradle集成?
2.P3C怎么与maven集成?
3.P3C怎么与sonar集成?

其实很容易集成,因为P3C插件是基于PMD规则开发,可以参考PMD规则与gradle,maven,sonar集成代码。

参考链接:

如有其他问题,可以在本文留言哦~


相关实践学习
基于函数计算一键部署掌上游戏机
本场景介绍如何使用阿里云计算服务命令快速搭建一个掌上游戏机。
相关文章
|
1月前
|
Java Spring 容器
【Java】Spring如何扫描自定义的注解?
【Java】Spring如何扫描自定义的注解?
34 0
|
3月前
|
Java 关系型数据库 MySQL
兴奋!阿里巴巴首推“Java进阶必备宝典”,理论到实战,一键搞定
作为一名Java方向的程序员,打好夯实的基础是非常重要的,现在大厂面试对于程序员基础知识的掌握考察也越来越严格,虽然说现在技术更新比较快,但基础扎实才能够更深入的去理解每一个知识技术点。
|
3月前
|
Java
电子书阅读分享《Java开发手册(嵩山版)》
电子书阅读分享《Java开发手册(嵩山版)》
591 0
|
1月前
|
存储 算法 Java
超全面!阿里巴巴最新发布23年秋招200道Java面试题(含答案)
马上过34岁生日了,和大家聊聊最近的情况 半年前还在迷茫该学什么,怎样才能走出现在的困境,半年后已经成功上岸阿里,感谢在这期间帮助我的每一个人。 面试中总结了200道经典的Java面试题,里面包含面试要回答的知识重点,并且我根据知识类型进行了分类,可以说非常全面了~ 因为篇幅原因,大部分的内容就不给大家一一展示了,需要获取的小伙伴可以直接点击此处取到! Java平台相关 1、JDK、JRE、JVM 分别是什么关系? 2、为什么 Java 被称作是“平台无关的编程语言”? 3、Java 和 C++ 的区别? 4、什么是字节码?采用字节码的最大好处是什么? 5、Java运行的过程? 6、
80 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开发手册(泰山版)》
917 1
电子书阅读分享《Java开发手册(泰山版)》
|
3月前
|
设计模式 算法 NoSQL
阿里巴巴官方上线!号称国内Java八股文天花板(终极版)首次开源
真正有意义的就业与跳槽,是要进入到一个有绝对潜力的行业或者薪资能实现爆炸式增长的。这件事不容易,但也没有想象的遥不可及,现在大环境不好,机会也不如以前多,除了让自身技术能力过硬,面试更是要好好准备! 如何准备? 除了平时的技术积累与沉淀之外,剩下的就只能背八股了(虽然工作用不到,但面试就是要问,不背是不行的)。
79 0
|
3月前
|
Java 程序员 数据库连接
阿里巴巴大神发布的Java零基础笔记,实战教程多到手软,跪了
现值金九银十之际,是面试高峰季,很多学校开始校招,也是跳槽转行的最佳时机。根据数据显示,程序员是金九银十里最热门的行业,也是需求量最大的行业,但是程序员是个门槛低,但金字塔顶峰比较高的行业,意味着你的付出要比别人多才能拔尖。
|
3月前
|
架构师 NoSQL Java
阿里巴巴新产“Java架构核心宝典”,全是流行技术,限时开放
什么是架构师?对于程序员来说,聊架构是一个永不过时的话题。实际上,每一家公司都有自己对架构师不同的定位,因为不同的公司,所处的阶段、业务模式以及应用场景都不一样,因此对架构师的要求不一样,所以定位也就不同。

热门文章

最新文章