返回 导航

其他

hangge.com

Intellij IDEA - 静态代码分析工具的安装与使用详解(CheckStyle、FindBugs、P3C)

作者:hangge | 2020-12-24 08:10
    静态代码分析是指在不运行计算机程序的条件下进行程序分析的方法。静态代码分析仅通过分析代码的词法、语法、语义、控制流等来检查代码的正确性,帮助软件开发人员、质量保证人员查找代码中的结构性错误、不符合代码规范的地方、安全漏洞等,从而保证软件的整体质量。
    市面上有很多成熟的静态代码分析工具,比如:CheckStyleFindBugsP3C。它们都可以作为 IDE 的插件,在编写代码阶段进行实时静态扫描,实时提示代码缺陷,可以帮我们大大节省做代码审查和修复的时间。

一、Checkstyle

1,基本介绍

  • Checkstyle SourceForge 的开源项目,是一个帮助 Java 开发人员遵循某些编码规范的工具。它能对代码的编码格式、命名方式、 Javadoc 、类设计等进行自动化的代码规范和风格检查,从而有效约束开发人员更好地遵循代码编写规范。
  • Checkstyle 目前几乎支持所有主流的 IDE,在 Intelli ] IDEA Eclipse 上都有 Checkstyle 插件。
  • Checkstyle 支持用户根据需求自定义代码审查规范,用户可以在已有检查规范如命名约定、Javadoc、块、类设计等基础上添加或删除自定义检查规范。Checkstyle 插件还可以直接导入代码审查配置文件,例如可以直接使用 Checkstyle 配合 Google Java Style Guic 配置文件对 Java 代码进行静态扫描。 

2,安装配置

(1)在 IntelliJ IDEA 设置菜单中选择“Plugins”菜单项,在“Marketplace”选项卡下搜索并安装 CheckStyle 插件即可。

(2)安装后便可在“Other Settings...”选项中找到 Checkstyle 的设置入口,这里我们选择使用 Google Java Style Guide 进行代码扫描。

3,使用说明

    在配置好 Checkstyle 后就可以扫描代码了。Checkstyle 有一个单独的视图,其中包括代码扫描、规则选择、代码缺陷列表展示等功能。

二、FindBugs

1,基本介绍

  • FindBugs 是马里兰大学开源的一款主要针对 Java 语言的静态代码分析工具,通过检查类文件或 JAR 文件,将字节码与预先定义好的缺陷模式进行对比来发现代码缺陷,以达到静态代码分析的目的。
  • Checkstyle 一样,FindBugs 既可以提供可视化 UI 界面,也可以作为 Intellij IDEAEclipse 插件使用。

2,安装配置

(1)FindBugs 插件现在在 IDEA Plugins 中搜索不到了,不过我们可以通过手动下载插件包进行安装。首先 IDEA 官网插件地址(点击访问)中搜索该插件:

(2)然后选择最新的版本并下载:

(3)打开 IDEA,依次进入 Settings/Preferences -> Plugins,点击“Intall Plugin from Disk...”按钮,选择刚下载下来的 zip 包安装即可。

(4)安装后重启 IDEA,在“Other Settings...”选项中看到 FindBugs 的相关设置页面。

3,使用说明

(1)FindBugs 可以对项目、模块、包、类分别单独进行分析,在需要分析的文件上右键选择-FindBugs-选择分析的范围。

(2)扫描完成,在控制台会输出代码具体存在的缺陷,可以点击进去查看详细信息。FindBugs 除了会提示代码有哪些问题,还会提供一些问题成因及修改意见等,可以很好地帮助开发人员在修改代码缺陷的同时提升自己的编码能力。
FindBugs 的扫描结果有一个单独的视图页面,它会根据代码缺陷的性质,把扫描出来的代码缺陷大致分为以下几类:
  • Dodgy code:糟糕的代码。
  • Bad practice:不好的做法。
  • Correctness:可能不正确。
  • Experimental:实验。
  • Internationalization:国际化。
  • Malicious code vulnerility:恶意的代码漏洞。
  • Multithreaded correctness:多线程问题。
  • Performance:性能问题。

三、P3C

1,基本介绍

(1)在 2017 10 14 日举办的杭州云栖大会上,Java 代码规约扫描插件全球首发仪式正式启动,《阿里巴巴 Java 开发规约》(后面简称“规范”)正式以插件形式公开走向业界,引领 Java 语言的规范之路。
关于《阿里巴巴 Java 开发规约》相关内容,可以参考我之前写的文章:

(2)该插件是基于规范进行静态代码分析的工具,同样支持目前流行的多种 IDE,例如 IDEAEclipse 等。
    该插件在扫描代码后,将不符合规约的代码按 BlockerCriticalMajor 三个等级显示在下方甚至 IDEA 上。该插件还基于 Inspection 机制提供了实时检测功能,在编写代码的同时能快速发现问题所在。而且,该插件能给出代码修改建议,还能对部分规则提供一键修改功能,方便开发者修改有问题的代码。

2,安装配置

IntelliJ IDEA 设置菜单中选择“Plugins”菜单项,在“Marketplace”选项卡下搜索并安装 P3C 插件即可。

3,使用说明

(1)右键需要扫描的地方,点击【编码规约扫描】选项即可:

(2)P3C 同样在 IDE 中提供了单独的视图,我们可以在此查看通过 P3C 扫描后得到的代码缺陷列表及详情。
评论

全部评论(0)

回到顶部