云效代码管理平台(Codeup)内置P3C 代码规约检测插件,技术上是如何实现的呢?

云效代码管理平台(Codeup)内置P3C 代码规约检测插件,技术上是如何实现的呢?

展开
收起
vncamyi27xznk 2021-12-15 23:29:50 1331 分享 版权
1 条回答
写回答
取消 提交回答
  • image.png image.png 我们基于开源的 pmd-core 三方 Jar 的能力上,扩展了约 60 个规约扫描规则,并封装出 P3C-PMD 组件。 四、在 P3C-PMD 组件基础上,基于 Sonar 插件扩展标准,我们提供了 sonar-p3c-pmd-plugin,也就是封装出了一个标准的 Sonar 插件。此插件主要用于代码库全量自动化扫描阶段。 1.CodeReview 插件采用直接类似于命令行调用的方式集成了 p3c-pmd,主要针对于增量代码检测阶段。 2.在 P3C-PMD 组件基础上,基于 IDEA 的 Inspection 机制,以及 Running Inspection By Name 的功能自主实现了 IDEA 插件。 3.Eclipse 插件主要是基于原生已有的 Eclipse PMD 插件进行的规则替换开发。我们通过 IDE 插件的实现,进而解决了本地代码规约检测的问题。 综上所述,我们通过不同的插件覆盖了不同研发阶段(如本地编码阶段,自动化全量测试阶段、CodeReview 增量检测阶段)的代码规约检测。通过本地结合线上、全量结合增量的策略,我们实现了一套规则落地多端,进而将阿里巴巴 Java 编码规约通过工具化平台化的手段在阿里内部进行了充分落地。2017 年 10 月份,我们在 GitHub 上将 P3C 规则和工具的源码正式对外开源。

    答复内容摘自《云原生技术与架构实践年货小红书》,这本电子书收录开发者藏经阁 下载连接:https://developer.aliyun.com/topic/download?id=1127

    2021-12-16 14:25:50
    赞同 展开评论

阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。

收录在圈子:
+ 订阅
阿里云 云原生应用平台 肩负阿里巴巴集团基础设施云化以及核心技术互联网化的重要职责,致力于打造稳定、标准、先进的云原生产品,成为云原生时代的引领者,推动行业全面想云原生的技术升级,成为阿里云新增长引擎。商业化产品包括容器、云原生中间件、函数计算等。
还有其他疑问?
咨询AI助理