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

《阿里巴巴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。

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

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

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

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

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

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

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

流水线有很多属性

可以扫描/长按识别下图二维码体验!

常见问题:

1.P3C怎么与gradle集成?

2.P3C怎么与maven集成?

3.P3C怎么与sonar集成?

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

参考链接:

*https://github.com/ajoberstar/gradle-plugins/tree/master/src/main/groovy/org/ajoberstar/gradle/pmd 

*https://github.com/apache/maven-plugins/tree/trunk/maven-pmd-plugin 

*https://github.com/SonarQubeCommunity/sonar-pmd

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

  • 更多规约插件,请点击详情阅读
  • Work Like Alibaba系列直播请点击详情回顾
时间: 2024-11-01 17:23:06

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

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

引言:自从2月9日<阿里巴巴Java开发手册>面向业界公布以来,大家一直期待着静态化扫描工具的问世,在<手册>终极版发布时,我们曾经承诺将在2017杭州云栖大会上进行规约插件的全球发布.如今信守承诺,我们如约而至.   经过247天的研发,阿里巴巴于10月14日上午9:00在杭州云栖大会<研发效能峰会>上,正式发布<阿里巴巴Java开发手册>扫描插件.阿里巴巴高年级同学毕玄.玄难.索尼.叶渡,淘宝代码第一人多隆.代码规约作者孤尽携手<手册>项目组

《阿里巴巴Java开发手册》IDEA插件与Eclipse插件使用指南

首先非常感谢大家对插件的支持与意见,这里详细介绍一下<阿里巴巴Java开发手册>IDEA插件与Eclipse插件的安装使用. 关于规约插件的背景介绍,可见上篇文章:提升团队研发效能利器,<阿里巴巴Java开发手册>插件全球首发(附插件下载地址) 一.阿里巴巴Java开发手册IDEA插件使用指南 通过Jetbrains官方仓库安装 1. 打开 Settings >> Plugins >> Browse repositories... 2. 在搜索框输入alib

提升团队研发效能利器,《阿里巴巴Java开发手册》插件全球首发(附插件下载地址)

<阿里巴巴Java开发手册>于2017年2月9日首次公布,瞬间引起全民代码规范的热潮.2017年9月底,阿里巴巴集团发布了<阿里巴巴Java开发手册>PDF终极版,2017年10月14日,在2017杭州云栖大会上,规约插件全球首发. 手册与插件的下载地址在此: <阿里巴巴Java开发手册>(终极版)下载地址 Java规约插件下载地址 插件全球首发仪式 经过247天的研发,阿里巴巴于10月14日上午9:00在杭州云栖大会<研发效能峰会>上,正式发布<阿里

白话阿里巴巴Java开发手册(编程规约)

最近,阿里巴巴发布了<阿里巴巴Java开发手册>,总结了阿里人多年一线实战中积累的研发流程规范,这些流程规范在一定程度上能够保证最终的项目交付质量,通过限制开发人员的编程风格.实现方式来避免研发人员在实践中容易犯的错误,同样的问题大家使用同样的模式解决,便于后期维护和扩展,确保最终在大规模协作的项目中达成既定目标. 无独有偶,笔者去年在公司里负责升级和制定研发流程.设计模板.设计标准.代码标准等规范,并在实际工作中进行了应用和推广,收效颇丰,也总结了适合支付平台的技术规范,由于阿里巴巴Java

阿里巴巴 Java 开发手册之编程规约(一)-------我的经验

阿里巴巴 Java 开发手册 一.编程规约 (一) 命名规约 1.[强制] 代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束.(代码规范,易读) 反例: name / __name / $Object / name / name$ / Object$ 2.[强制] 代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式. 说明:正确的英文拼写和语法可以让阅读者易于理解,避免歧义.注意,即使纯拼音命名方式 也要避免采用.(代码规范,易读) 反例: DaZhePr

阿里巴巴Java开发手册快速学习

Java作为一门名副其实的工业级语言,语法友好,学习简单,大规模的应用给代码质量的管控带来了困难,特别是团队开发中,开发过程中的规范会直接影响最终项目的稳定性. 善医者"未有形而除之",提高工程健壮性最好的方式是在代码出现问题之前就排除掉,不给Bug出现的机会.一份好的开发规范就可以起到这样的作用,大大减少产品上线后的问题.  <阿里巴巴Java开发手册>是阿里巴巴的内部编码规范,阿里官方的Java代码规范标准, 手册以Java应用开发为维度,分为编程规约.异常日志规约.M

【Java编码规范】《阿里巴巴Java开发手册》终极版更新,在线代码检测及IDE插件发布

        -------------- 2017.10.14更新 -------------- <阿里巴巴Java开发手册(终极版)>正式发布,这是史上内容最全.修正最为彻底的一个版本,并且增加了单元测试规约内容,这也是阿里官方对外发布的最后一个PDF版本,值得收藏.   <阿里巴巴Java开发手册>是阿里内部Java工程师所遵循的开发规范,涵盖编程规约.单元测试规约.异常日志规约.MySQL规约.工程规约.安全规约等,这是近万名阿里Java技术精英的经验总结,并经历了多次大

阿里巴巴 JAVA 开发手册

阿里巴巴 JAVA 开发手册 1.0.0 阿里巴巴集团技术部 2016.12.7 首次向 Java 业界公开 一. 编程规约(一) 命名规约1. [强制]所有编程相关命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束.反例: _name / __name / $Object / name_ / name$ / Object$2. [强制]所有编程相关的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式.说明: 正确的英文拼写和语法可以让阅读者易于理解,避免歧义.注意, 即使

赠阅!《阿里巴巴Java开发手册》实体书开启预售!

近年来敏捷开发的流行在一定程度上削弱了设计的重要性但在某些方面需要明确地进行详细地方案设计与评审比如存储方案和底层数据结构的设计.有缺陷的底层数据结构容易导致系统风险高可扩展性差重构成本因历史数据迁移.系统平滑过渡也会陡然增加.所以存储方案和数据结构需要认真地进行设计和评审生产环境提交执行后需要进行double check明确存储介质选型.表结构设计能否满足技术方案.存取性能和存储空间能否满足业务发展.表或字段之间的辩证关系.字段名称.字段类型等. 在其它设计领域<手册>也明确了软件设计底线如