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

简介:

一、前言

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

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

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

https://github.com/alibaba/p3c 

或者在Github直接搜索p3c

二、该插件的主要功能

/WechatIMG57.jpeg

该插件主要是对今年发布的《阿里巴巴 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 .

install_1.png

3.2 安装插件

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

/install-plugin.png

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

四、如何使用

4.1 切换语言

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

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

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

switch-language

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

/smartfox-restart.png

4.2 Inspections 支持

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

这里举个简单的例子。

/thread-factory-wraning.png

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

/wraning-more.png

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

/insp-dialog.png

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

4.3 代码静态分析

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

/code-any.png

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

/code-result.png

4.4 VCS 支持

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

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

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

/analyze_before_checkin.png

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

五、规约源码

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

/project.png

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

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

/idea-plugin.png

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

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

小结

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


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


相关文章
|
11月前
|
Web App开发 前端开发 JavaScript
网页前端项目评审参考标准
网页前端项目评审参考标准
76 0
|
敏捷开发 存储 搜索推荐
《阿里巴巴Java开发手册v1.4.0(详尽版)》更新,新增16条设计规约
阿里巴巴集团推出的《阿里巴巴Java开发手册》是阿里巴巴近万名开发同学集体智慧的结晶,以开发视角为中心,详细列举如何开发更加高效、更加容错、更加有协作性,力求知其然,更知其不然,结合正反例,让Java开发者能够提升协作效率、提高代码质量。
732777 3
|
4月前
|
SQL 测试技术 API
回顾 2023:Hudi 的重点新功能一览
回顾 2023:Hudi 的重点新功能一览
89 1
|
4月前
|
API Nacos
【想进大厂还不会阅读源码】ShenYu源码-重构同步数据服务
ShenYu源码阅读📚。我们看下PR的标题和Concersation的头一句,大概意思就是重构注册中心数据同步到ShenYu网关的方式。大家看看重构了有没好处呢?不仅获得了知识,还获得了一次开源贡献,何乐而不为呢
|
4月前
|
安全 前端开发 测试技术
【测开方法论】当老功能代码命名不规范的时候...如何安全增加新功能
【测开方法论】当老功能代码命名不规范的时候...如何安全增加新功能
|
12月前
|
开发工具 数据安全/隐私保护 git
团队开发注意事项
团队开发注意事项
|
Java
《阿里巴巴Java开发规约》插件使用详细指南
阿里巴巴于10月14日在杭州云栖大会上,正式发布众所期待的《阿里巴巴Java开发规约》扫描插件。今天就为大家详细介绍一下IDEA插件与Eclipse插件的安装使用。
15911 1
《阿里巴巴Java开发规约》插件使用详细指南
|
移动开发 缓存 JavaScript
「 前端开发规范 」10人小团队前端开发规范参考这篇就够了!
引自《阿里规约》的开头片段: ----现代软件架构的复杂性需要协同开发完成,如何高效地协同呢?无规矩不成方圆,无规范难以协同,比如,制订交通法规表面上是要限制行车权,实际上是保障公众的人身安全,试想如果没有限速,没有红绿灯,谁还敢上路行驶。对软件来说,适当的规范和标准绝不是消灭代码内容的创造性、优雅性,而是限制过度个性化,以一种普遍认可的统一方式一起做事,提升协作效率,降低沟通成本。代码的字里行间流淌的是软件系统的血液,质量的提升是尽可能少踩坑,杜绝踩重复的坑,切实提升系统稳定性,码出质量。
20550 4
「 前端开发规范 」10人小团队前端开发规范参考这篇就够了!
|
存储 缓存 IDE
Java编程规约(源于阿里,精简版)
Java编程规约(源于阿里,精简版)
673 0
|
缓存 开发框架 负载均衡
大型项目的发布部署:第一章:发布部署流程
大型项目的发布部署:第一章:发布部署流程
476 0