且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

阿里发布的规约插件,细节都在这里!!!

更新时间:2022-09-16 18:02:56

一、前言

阿里巴巴在杭州云栖大会上,正式发布了由阿里巴巴 P3C 项目组,经过 247 天的持续研发,正式发布众所期待的 《阿里巴巴 Java 开发规约》的扫描插件!

P3C 是世界知名的反潜机,专门对付水下潜水艇,寓意是扫描出所有潜在的代码隐患。这个项目组是阿里巴巴开发爱好者自发组织的虚拟项目组,把《阿里巴巴 Java 开发规约》强制条目转化自动插件,并实现部分的自动编码。

该插件已经在 Github 上开源,有兴趣的可以直接去看看。

https://github.com/alibaba/p3c 

或者在Github直接搜索p3c

二、该插件的主要功能

阿里发布的规约插件,细节都在这里!!!

该插件主要是对今年发布的《阿里巴巴 Java 开发规约》的一个延伸,它以一个 IDE 的插件存在,可以自动对手册中的 Java 不规范的问题进行提示。现在主要支持(IDEA、Eclipse),Android Studio 是基于 IDEA 的,所以也是支持 Android 开发人员的。

该插件在扫描代码后,会将不符合规约的代码按照 Blocker/Critical/Major 三个等级显示在下方,甚至在 IDEA 上,还可以基于 Inspection 机制提供了实时检测的功能,编写代码的同时也能快速发现不规范的代码。而对于历史代码,部分规则实现了批量一键修复的功能,为首次在成熟项目上,使用插件,做了非常友善的支持。

三、如何安装

本着 Android 开发的视角,这里只介绍如何在 Android Studio 中使用 Alibaba Java Coding Guidelines(以下简称阿里规约插件)。其他工具,请翻阅文档。

3.1 搜索插件

依次选择:Setting >> Plugins >> Browse repositories .

阿里发布的规约插件,细节都在这里!!!

3.2 安装插件

搜索关键字『alibaba』,并在结果中,找到 Alibaba Java Coding Guidelines 并安装。

阿里发布的规约插件,细节都在这里!!!

安装完成之后,会有提示需要重启 Android Studio,我们点击 restart 按钮就可以帮我们自动重启,当然我们手动重启也行。

四、如何使用

4.1 切换语言

阿里规约插件的使用非常的简单,并且本身插件就是国人开发完成,所以对中文的支持非常的好。

安装之后,它会默认使用你当前设备选择的语言环境,进行配置语言,当然你也可以自行切换语言,暂时仅支持 中文 和 英语。

你可以在 Tools >> Alibaba Coding Guidelines >> Switch language to Xxx 进行切换。

阿里发布的规约插件,细节都在这里!!!

这里切换之后,也需要重启 IDEA 才可以生效。

阿里发布的规约插件,细节都在这里!!!

4.2 Inspections 支持

Inspections 相信大家应该都不陌生,它会自动在我们编码的阶段,进行快速灵活的静态代码分析,自动检测编译器和运行时错误,并提示开发人员再编译之前就进行有效的改正和改进。

这里举个简单的例子。

阿里发布的规约插件,细节都在这里!!!

可以看到,它会个我指出我这里编写不规范的地方,如果想要查看更多细节,点击 more 按钮即可。

阿里发布的规约插件,细节都在这里!!!

当然,所有的规范,都可以再 Inspections 中查看到。

阿里发布的规约插件,细节都在这里!!!

在 Inspections 中,以 All-Check 区分,以下是它支持的所有检查,有兴趣可以一个个点击查看细节,右侧为检查出问题之后的提示信息,如果不想要的检测条件,还可以将它反选掉。

4.3 代码静态分析

阿里规约插件,除了支持 Inspections 之外,还可以对现有项目进行静态代码分析。

阿里发布的规约插件,细节都在这里!!!

它分析的结果,会以 Blocker/Critical/Major 三个级别进行区分。最终检测出来的效果也非常的直观,如果你是当前插件语言是中文,基本上一眼就看出来哪里有问题,并给出了修复建议。

阿里发布的规约插件,细节都在这里!!!

4.4 VCS 支持

Android Stuido 中,默认提供 VCS 支持,我们只需要简单的配置,就可以支持 Git、SVN 等。

Android Studio 中,配合 Git 使用,不了解的可以看看我之前的文章。《工作中,AS和Git更配哦!

而阿里规约插件,同时也支持这部分的校验,它可以在我们提交代码之前,对我们本次提交的代码进行规约检测。

阿里发布的规约插件,细节都在这里!!!

这个功能,在我看来还是非常的有用的,符合检测结果之后,自己代码质量和同队 Code Review 的效率都会提高。

五、规约源码

最后说点题外话,简单看看规约的源码是什么结构。

阿里发布的规约插件,细节都在这里!!!

从结构上来看,不同的插件分别用不同的项目在维护,这也是毋庸置疑的,本身也不通用。

有趣的是,阿里规约插件是完全使用 Kotlin 进行开发的。

阿里发布的规约插件,细节都在这里!!!

可以看到,结构也非常的清晰,对 inspection 的支持,在 compatible/inspection 和 inspection 中,VCS 的支持,在 vcs 中。

细节我们就不多看了,有兴趣就去阅读源码吧。

小结

阿里规约插件,插件的主要情况,本文已经讲解清楚了。


本文转自承香墨影博客园博客,原文链接:http://www.cnblogs.com/plokmju/p/7670481.html,如需转载请自行联系原作者