Android Studio 插件——《阿里巴巴 Java 开发规约》的扫描插件

简介: 版权声明:本文为博主原创文章,转载请注明出处http://blog.csdn.net/u013132758。 https://blog.csdn.net/u013132758/article/details/78337759 ...
版权声明:本文为博主原创文章,转载请注明出处http://blog.csdn.net/u013132758。 https://blog.csdn.net/u013132758/article/details/78337759

前言

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

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


关于该项目已经再Github上了,包括《阿里巴巴Java开发手册(终极版).pdf》也在上面,有兴趣的可以进去看看。

插件的主要功能


      阿里技术公众号于今年的2月9日首次公布《阿里巴巴Java开发规约》,瞬间引起全民代码规范的热潮,上月底又发布了PDF的终极版,大家都期待配套的静态扫描工具开放出来。为了让开发者更加方便、快速将规范推动并实行起来,阿里巴巴基于手册内容,研发了一套自动化的IDE检测插件。于是在今年的云栖大会上,发布了阿里人经过247天持续研发的阿里巴巴JAVA规约扫描插件——Alibaba Java Coding Guidelines.

     该插件就是《阿里巴巴Java开发规约》的扩展。为了方便开发者,该插件作为一个IDE的插件形式,支持 IDEA 和Eclipse,当然也支持Android Studio( Android Studio是基于IDEA的)。

     该插件在扫描代码后,将不符合规约的代码按Blocker/Critical/Major三个等级显示在下方,甚至在IDEA和Android Studio上,我们还基于Inspection机制提供了实时检测功能,编写代码的同时也能快速发现问题所在。对于历史代码,部分规则实现了批量一键修复的功能,还有对于提交SVN的代码该插件也支持扫描。如此爽心悦目的功能是不是很值得拥有?提升代码质量,提高团队研发效能。

插件的安装

   Setting=》Plugin=》Browse repositories,搜索Alibaba就可以了,选择Alibaba Java Coding Guidelines,安装并重启。


插件的使用

1、静态扫描分析JAVA代码

插件的使用非常简单,装好重启之后你会发现,顶部工具栏多了两个按钮,在某个文件中右键也会多两个选项。



选择编码规约扫描,就会扫描当前文件,扫描结果如下显示:将不符合规约的代码按Blocker/Critical/Major三个等级显示在下方,并提示不符合什么规约。



2、Inspections 支持

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

如下所示,如果没有及时清除注释掉的无用代码会提示。


这些所有的规约在Setting=》Editor=》Inspections 中查到(如图)。如果不需要检测这类归于去掉勾选即可。


3、切换语言

  Alibaba Java Coding Guidelines 支持切换语言,Tools=》阿里编码规约,切换完重启Android Studio即可。


4、VCS的扫描支持

  Android Stuido 中,默认提供 VCS 支持,我们只需要简单的配置,就可以支持 Git、SVN 等。例如我们提交代码时只需选择右边的Alibaba Code Guidelines即可。


5、部分规约的批量修复

  前面说了该插件支持部分规约的批量修复功能,具体如何使用如下所示:如果if没有加大括号,会提示:为语句加上大括号


小结

  到此为止Alibaba Java Coding Guidelines插件的主要情况讲解完了,该插件主要是《阿里巴巴Java开发规约》的扩展,可以抽空看看。关于一些具体的细节可以去Github:https://github.com/alibaba/p3c

相关文章
|
11月前
|
存储 Java
Java扫描某个文件夹且要保证不重复扫描,如何实现?
【10月更文挑战第18天】Java扫描某个文件夹且要保证不重复扫描,如何实现?
196 3
|
5月前
|
数据采集 监控 Oracle
GraalVM 24 正式发布阿里巴巴贡献重要特性 —— 支持 Java Agent 插桩
阿里巴巴是 GraalVM 全球顾问委员会的唯一中国代表,阿里云程序语言与编译器团队和可观测团队合作实现了 GraalVM 应用的无侵入可观测能力,并在 ARMS 平台上线了该功能。目前在 GraalVM 24 中发布的是支持 Java agent 的第一步,其余能力将在 GraalVM 的后续版本中陆续发布。
358 22
|
10月前
|
Java
轻松上手Java字节码编辑:IDEA插件VisualClassBytes全方位解析
本插件VisualClassBytes可修改class字节码,包括class信息、字段信息、内部类,常量池和方法等。
474 6
|
7月前
|
人工智能 JavaScript 关系型数据库
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
212 14
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
|
12月前
|
安全 Oracle Java
edge浏览器加载java插件
edge浏览器加载java插件
650 1
|
12月前
|
算法 Oracle Java
Java字符串拼接技术演进及阿里巴巴的贡献
本文主要讲述了Java字符串拼接技术的演进历程,以及阿里巴巴贡献的最新实现 PR 20273。
315 12
|
12月前
|
XML JavaScript Java
NekoHTML 是一个基于Java的HTML扫描器和标签补全器
**NekoHTML** 是一个基于Java的HTML扫描器和标签补全器(tag balancer),由J. Andrew Clark开发。它主要用于解析HTML文档,并能够“修正”许多在编写HTML文档过程中常犯的错误,如增补缺失的父元素、自动用结束标签关闭相应的元素,以及处理不匹配的内嵌元素标签等。这使得程序能够以标准的XML接口来访问HTML文档中的信息。 ### NekoHTML的主要特点包括: 1. **错误修正**:能够自动修正HTML中的常见错误,如未闭合的标签等。 2. **DOM树生成**:将HTML源代码转化为DOM(Document Object Model)结构,便
159 1
|
12月前
|
安全 Java 关系型数据库
代码规范Java阿里巴巴
本文介绍了阿里巴巴的《Java开发手册》,这是一份业界公认的代码规范手册,涵盖编程规约、异常日志、单元测试、安全规约、MySQL数据库、工程结构、设计规约七个维度。手册通过强制、推荐、参考三大类规约,详细指导开发者编写高质量的Java代码。文中还提供了常见问题的正反例对比,如方法参数类型一致性、SimpleDateFormat线程安全等问题的解决方案。此外,还介绍了如何安装和使用阿里规范插件来提高编码效率。
1408 9
|
12月前
|
Java Android开发 C++
🚀Android NDK开发实战!Java与C++混合编程,打造极致性能体验!📊
在Android应用开发中,追求卓越性能是不变的主题。本文介绍如何利用Android NDK(Native Development Kit)结合Java与C++进行混合编程,提升应用性能。从环境搭建到JNI接口设计,再到实战示例,全面展示NDK的优势与应用技巧,助你打造高性能应用。通过具体案例,如计算斐波那契数列,详细讲解Java与C++的协作流程,帮助开发者掌握NDK开发精髓,实现高效计算与硬件交互。
364 1