阿里巴巴Java“代码反潜机”P3C喜提首届中国优秀开源项目二等奖!

简介: P3C是阿里巴巴研发的Java代码规约扫描工具,项目组中一半成员来自云效团队。自17年10月开源到现在,P3C在Github上Star数达12600+,Fork数2700+,插件下载量54.1w+。
dc2e2b5a887575d12cb596cbeda24a33c9d51ec0

12 月 12-14 日,由中国开源云联盟、中国电子技术标准化研究院和全国信标委云计算标准工作组主办的第八届中国云计算标准和应用大会在京举行。

聚焦企业上云和开源,大会公布了首届中国优秀开源项目的名单,16个开源项目入选,其中阿里云智能事业群共有5个开源项目入选榜单,他们分别是:

一等奖,Apache Dubbo

二等奖,P3C

二等奖,PouchContainer

二等奖,Apache RocketMQ

三等奖,Sentinel


P3C是什么?

 

P3C是阿里巴巴研发的Java代码规约扫描工具,项目组中一半成员来自云效团队。


当前,P3C项目包含三部分:PMD规则实现、IntelliJ IDEA 插件、Eclipse 插件,帮助开发人员在工程研发的多个阶段进行代码规约检查,降低故障率、提升编码效率和质量。

 

项目地址:https://github.com/alibaba/p3c

  

云效测试服务中可以直接体验P3C代码扫描效果哟~


41364fdd669b566ebb35757c568a6ba856a6adb9


P3C项目由来


2017年开春之际,阿里官方Java代码规范标准——《阿里巴巴Java开发手册》首次公开。汇聚阿里集团近万名技术精英的经验知识,这套高含金量的手册一经公开,便引起业界普遍关注和学习。

 

然而,只停留在文档层面的规约难以长久地得到执行,需要有配套的工具和平台来同步保障。

 

10月14号,历经 247 天的持续研发,《阿里巴巴 Java 代码规约》扫描插件P3C正式发布并开源。


为什么叫P3C?


7e9d7fca8d7dd09d9412d45c85a8c0fd2d497ba5


在现代军事战争中,潜水艇是一个非常厉害的角色,通常在水底下潜伏数月,哪怕在地面战争处于劣势的情况下,浮出水面,拼死一击,也能够给敌方给予重创。

 

有一矛必有一盾,所以,反潜机出现了,反潜机泛指担任搜索、标定与攻击潜艇的军用飞机,它能在短时间内居高临下地进行大面积搜索,并可以十分方便地向海中发射或投掷反潜炸弹,甚至最新型的核鱼雷。

 

P-3C是世界知名的反潜机,它由美国洛克希德公司在民用客机的基础上改进而来,绰号为“猎户”。“猎户”诞生至今已经40多年了,尽管已是一员老将,但是在海湾战争中,它还是披挂上阵,为多国部队提供了大量的情报。

 

以P3C作为项目代号,其寓意是要以开发规约为前提扫描出所有潜在的代码隐患。


P3C的成绩单

 

值得一提的是,自17年10月开源到现在,P3C在Github上Star数达12600+,Fork数2700+,插件下载量54.1w+。


相关阅读:《阿里巴巴Java开发手册》史上最全资料下载!含新书优惠码

关于云效:

云效,一站式企业协同研发云,源于阿里巴巴多年先进的管理理念和工程实践,提供从“需求->开发->测试->发布->运维->运营”端到端的协同服务和研发工具支撑。支持公有云、专有云和混合云的协同研发,助力企业产品快速创新迭代和研发效能升级。

f63f973efedc4a60527fa0f9f4ea49062080e738

相关实践学习
流水线运行出错排查难?AI帮您智能排查
本实验将带您体验云效流水线Flow的智能排查能力,只需短短1-2分钟,即可体验AI智能排查建议。
ALPD云架构师系列 - 云原生DevOps36计
如何把握和运用云原生技术,撬动新技术红利,实现持续、安全、高效和高质量的应用交付,并提升业务的连续性和稳定性,这是云原生时代持续交付共同面对的机会和挑战。本课程由阿里云开发者学堂和阿里云云效共同出品,是ALPD方法学云架构师系列的核心课程之一,适合架构师、企业工程效能负责人、对DevOps感兴趣的研发、测试、运维。 课程目标 前沿技术:了解云原生下DevOps的正确姿势,享受云原生带来的技术红利 系统知识:全局视角看软件研发生命周期,系统学习DevOps实践技能 课程大纲: 云原生开发和交付:云研发时代软件交付的挑战与云原生工程实践 云原生开发、运行基础设施:无差别的开发、运行环境 自动部署:构建可靠高效的应用发布体系 持续交付:建立团队协同交付的流程和流水线 质量守护:构建和维护测试和质量守护体系 安全保障:打造可信交付的安全保障体系 建立持续反馈和持续改进闭环
目录
相关文章
|
9月前
|
Java 开发工具
【Azure Storage Account】Java Code访问Storage Account File Share的上传和下载代码示例
本文介绍如何使用Java通过azure-storage-file-share SDK实现Azure文件共享的上传下载。包含依赖引入、客户端创建及完整示例代码,助你快速集成Azure File Share功能。
609 6
|
10月前
|
IDE Java 关系型数据库
Java 初学者学习路线(含代码示例)
本教程为Java初学者设计,涵盖基础语法、面向对象、集合、异常处理、文件操作、多线程、JDBC、Servlet及MyBatis等内容,每阶段配核心代码示例,强调动手实践,助你循序渐进掌握Java编程。
1222 3
|
10月前
|
安全 Java 应用服务中间件
Spring Boot + Java 21:内存减少 60%,启动速度提高 30% — 零代码
通过调整三个JVM和Spring Boot配置开关,无需重写代码即可显著优化Java应用性能:内存减少60%,启动速度提升30%。适用于所有在JVM上运行API的生产团队,低成本实现高效能。
1116 3
|
10月前
|
Java API 开发工具
【Azure Developer】Java代码实现获取Azure 资源的指标数据却报错 "invalid time interval input"
在使用 Java 调用虚拟机 API 获取指标数据时,因本地时区设置非 UTC,导致时间格式解析错误。解决方法是在代码中手动指定时区为 UTC,使用 `ZoneOffset.ofHours(0)` 并结合 `withOffsetSameInstant` 方法进行时区转换,从而避免因时区差异引发的时间格式问题。
422 4
|
Java 数据安全/隐私保护
快手小红书抖音留痕工具,自动留痕插件工具,java代码开源
这个框架包含三个核心模块:主操作类处理点赞评论、配置管理类和代理管理类。使用时需要配合
|
11月前
|
人工智能 监控 安全
智慧工地解决方案,java智慧工地程序代码
智慧工地系统融合物联网、AI、大数据等技术,实现对施工现场“人、机、料、法、环”的全面智能监控与管理,提升安全、效率与决策水平。
299 2
|
10月前
|
Java
java入门代码示例
本文介绍Java入门基础,包含Hello World、变量类型、条件判断、循环及方法定义等核心语法示例,帮助初学者快速掌握Java编程基本结构与逻辑。
687 0
|
9月前
|
Java 数据处理 API
为什么你的Java代码应该多用Stream?从循环到声明式的思维转变
为什么你的Java代码应该多用Stream?从循环到声明式的思维转变
398 115
|
9月前
|
安全 Java 编译器
为什么你的Java代码需要泛型?类型安全的艺术
为什么你的Java代码需要泛型?类型安全的艺术
295 98