📜  用于检查Java代码质量的 Checkstyle 插件简介

📅  最后修改于: 2022-05-13 01:54:40.498000             🧑  作者: Mango

用于检查Java代码质量的 Checkstyle 插件简介

Checkstyle是一种开发工具,可帮助程序员编写符合编码标准的Java代码。它使检查Java代码的过程自动化。它是一个开源工具,可以根据一组可配置的规则检查代码。它允许您定义自己的规则集并对照它检查您的代码。这些规则可以在您的 IDE 中使用,也可以通过 Maven 和 Gradle 使用。

Checkstyle的特点

  • 解决类设计问题。
  • 解决方法设计问题。
  • 能够检查代码布局。
  • 解决格式问题。

如何通过 Maven 和 IDE 将 Checkstyle 集成到Java项目中?

这些插件相互独立,可以单独集成到我们的构建或 IDE 中。例如,pom.xml 中不需要 Maven 插件来在IntelliJ 或 Eclipse IDE中运行验证。要在我们的项目中配置 Checkstyle,我们需要在Maven 配置的帮助下添加插件。

插入:

XML

    
        
            org.apache.maven.plugins
            maven-checkstyle-plugin
            3.0.0
            
                checkstyle.xml
            
        
    


XML

    org.apache.maven.plugins
    maven-checkstyle-plugin
    ${checkstyle-maven-plugin.version}
    
        checkstyle.xml
    
    
        
            
                check
            
        
    


XML


    
        
            
        
    


我们可以使用Sun 风格的检查Google 风格的检查(Checkstyle 的两个预定义检查)。项目的默认检查是sun_checks.xml

生成报告

在 Maven 配置之后,让我们通过运行 mvn site 命令生成代码报告。构建完成后,该报告将在名为 checkstyle.html 的 target/site 文件夹中可用。

报告中的三个主要部分是:

  1. 文件文件为我们提供了发生违规的文件列表。它还向我们展示了违反严重程度的计数。
  2. 规则规则为我们提供了用于检查违规行为的规则的概述。它显示了规则的类别、违规的数量以及这些违规的严重性。
  3. 详细信息:报告的详细信息部分为我们提供了已发生的违规行为的详细信息。提供的详细信息是行号级别的。

构建集成

如果需要对编码风格进行严格检查,我们可以将插件配置为当代码不符合标准时构建失败。

XML


    org.apache.maven.plugins
    maven-checkstyle-plugin
    ${checkstyle-maven-plugin.version}
    
        checkstyle.xml
    
    
        
            
                check
            
        
    

配置文件将是 checkstyle.xml。执行部分中提到的目标检查要求插件在构建的验证阶段运行,并在发生违反编码标准时强制构建失败。在此之后,如果我们运行 mvn clean install 命令,它将扫描每个文件是否存在违规行为,如果扣除任何违规行为,构建将失败。我们也可以使用mvn checkstyle:check只运行插件的检查目标,而不配置执行目标。如果有任何验证错误,运行此步骤也会导致构建失败

IDE Checkstyle 插件

1. IntelliJ IDEA

  • 在 IntelliJ 中配置:
  • 打开设置并搜索“Checkstyle”
  • 将显示一个窗口,其中包含选择检查的选项。
  • 单击 + 按钮,将打开一个窗口,让我们指定要使用的文件的位置。
  • 现在,选择一个配置 XML 文件并单击 Next。
  • 这将打开前一个窗口并显示新添加的自定义配置选项。
  • 我们选择新配置并单击 OK 开始在我们的项目中使用它。

2. 日食理念

  • 在 Eclipse 中配置:
  • 转到窗口-> 首选项-> Checkstyle。
  • 在全局检查配置部分,单击新建。
  • 这将打开一个对话框,为您提供指定自定义配置文件的选项。

自定义检查样式配置

这是用于上述检查的自定义配置文件:

XML



    
        
            
        
    

DOCTYPE 定义

DOCTYPE 定义的第一行是文件的重要部分,它告诉从哪里下载 DTD,以便系统可以理解配置。

模块

配置文件主要由模块组成。一个模块有一个属性名,它代表了模块的作用。 name 属性的值对应于插件代码中的一个类,该类在插件运行时执行。

模块详情

  • Checker :模块结构在一个树中,根有 Checker 模块。该模块定义了配置的所有其他模块继承的属性。
  • TreeWalker :该模块检查各个Java源文件并定义适用于检查此类文件的属性。
  • AvoidStarImport:该模块为在我们的Java代码中不使用 Star 导入设置了一个标准。它还有一个属性,要求插件将此类问题的严重性报告为警告。因此,只要在代码中发现此类违规行为,就会针对它们标记警告。