返回顶部
首页 > 资讯 > 后端开发 > JAVA >Idea如何配置CheckStyle
  • 750
分享到

Idea如何配置CheckStyle

intellij-ideajavamaven 2023-09-22 06:09:07 750人浏览 安东尼
摘要

一、CheckStyle简介 CheckStyle是SourceForge下的一个项目,提供了一个帮助JAVA开发人员遵守某些编码规范的工具。它能够自动化代码规范检查过程,从而使得开发人员从这项重要但

一、CheckStyle简介

CheckStyle是SourceForge下的一个项目,提供了一个帮助JAVA开发人员遵守某些编码规范的工具。它能够自动化代码规范检查过程,从而使得开发人员从这项重要但是枯燥的任务中解脱出来。

CheckStyle检验的主要内容为:

  • Javadoc注释

  • 命名约定

  • 标题

  • Import语句

  • 体积大小

  • 空白

  • 修饰符

  • 代码问题

  • 类设计

  • 混合检查(包括一些有用的比如非必须的System.out和printstackTrace)

二、CheckStyle配置教程

checkstyle配置有两种方式,第一种为安装插件,第二种为添加依赖,推荐使用第二种。

(一)安装插件方式

安装CheckStyle-idea插件,安装好后重启idea;

在这里插入图片描述

给CheckStyle插件配置checkstyle.xml文件;
checkstyle.xml代码:

<?xml version="1.0"?><!DOCTYPE module PUBLIC  "-//Puppy Crawl//DTD Check Configuration 1.3//EN"    "Http://checkstyle.sourceforge.net/dtds/configuration_1_3.dtd"><module name="Checker">    <property name="charset" value="UTF-8"/>    <property name="fileExtensions" value="java"/>    <!-- 文件长度不超过1500-->    <module name="FileLength">        <property name="max" value="1500"/>    </module>    <!-- TreeWalker Checks -->    <module name="TreeWalker">        <module name="SuppressWarningsHolder"/>        <!--避免转义unicode字符-->        <module name="AvoidEscapedUnicodeCharacters">            <property name="allowEscapesForControlCharacters" value="true"/>            <property name="allowByTailComment" value="true"/>            <property name="allowNonPrintableEscapes" value="true"/>        </module>        <module name="NoLineWrap"/>        <module name="OuterTypeFilename"/>        <!-- import检查-->        <!-- 检查是否从非法的包中导入了类 -->        <module name="IllegalImport"/>        <!-- 检查是否导入了多余的包 -->        <module name="RedundantImport"/>        <!-- 没用的import检查,比如:1.没有被用到2.重复的3.import java.lang4.import 与该类在同一个package-->        <module name="UnusedImports"/>        <!-- 注释检查 -->        <!-- 检查方法和构造函数的javadoc -->        <module name="JavadocType">            <property name="allowUnknownTags" value="true"/>            <message key="javadoc.missing" value="类注释:缺少Javadoc注释。"/>        </module>        <!-- 检查方法的javadoc -->        <module name="JavadocMethod">            <property name="allowedAnnotations" value="Override, Test"/>            <property name="tokens" value="METHOD_DEF, ANNOTATION_FIELD_DEF "/>            <message key="javadoc.missing" value="方法注释:缺少Javadoc注释。"/>        </module>        <!-- 检查方法的javadoc是否缺失-->        <module name="MissingJavadocMethod">            <property name="tokens" value="METHOD_DEF, ANNOTATION_FIELD_DEF "/>        </module>        <!-- 检查类型的javadoc是否缺失-->        <module name="MissingJavadocType"/>        <module name="RequireEmptyLineBeforeBlockTagGroup"/>        <module name="AtclauseOrder">            <property name="taGorder" value="@param, @return, @throws, @deprecated"/>            <property name="target"                value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF, VARIABLE_DEF"/>        </module>        <!-- 方法名的检查 -->        <module name="MethodName">            <property name="fORMat" value="^[a-z][a-z0-9][a-zA-Z0-9_]*$"/>            <message key="name.invalidPattern"                value="Method name ''{0}'' must match pattern ''{1}''."/>        </module>        <!-- 方法的参数名 -->        <module name="ParameterName"/>        <!-- 常量名的检查(只允许大写),默认^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$ -->        <module name="ConstantName"/>        <!-- 检查long型定义是否有大写的“L-->        <module name="UpperEll"/>        <!-- 检查switch语句是否有default -->        <module name="MissingSwitchDefault"/>        <!-- 语法 -->        <!-- String的比较不能用!=== -->        <module name="StringLiteralEquality"/>        <!-- 禁止使用System.out.println -->        <module name="Regexp">            <property name="format" value="System\.out\.println"/>            <property name="illegalPattern" value="true"/>        </module>        <!--重载方法申明顺序-->        <module name="OverloadMethodsDeclarationOrder"/>        <!--变量声明和第一次使用之间的距离-->        <module name="VariableDeclarationUsageDistance"/>        <!--方法参数之间的空格-->        <module name="MethodParamPad">            <property name="tokens"                value="CTOR_DEF, LITERAL_NEW, METHOD_CALL, METHOD_DEF,                    SUPER_CTOR_CALL, ENUM_CONSTANT_DEF, RECORD_DEF"/>        </module>        <!--符号面前不允许空格-->        <module name="NoWhitespaceBefore">            <property name="tokens"                value="COMMA, SEMI, POST_INC, POST_DEC, DOT,                    LABELED_STAT, METHOD_REF"/>            <property name="allowLineBreaks" value="true"/>        </module>        <!--括号填充的空格-->        <module name="ParenPad">            <property name="tokens"                value="ANNOTATION, ANNOTATION_FIELD_DEF, CTOR_CALL, CTOR_DEF, DOT, ENUM_CONSTANT_DEF,                    EXPR, LITERAL_CATCH, LITERAL_DO, LITERAL_FOR, LITERAL_IF, LITERAL_NEW,                    LITERAL_SWITCH, LITERAL_SYNCHRONIZED, LITERAL_WHILE, METHOD_CALL,                    METHOD_DEF, QUESTION, RESOURCE_SPECIFICATION, SUPER_CTOR_CALL, LAMBDA,                    RECORD_DEF"/>        </module>        <!--运算符前的空格-->        <module name="OperatorWrap">            <property name="option" value="NL"/>            <property name="tokens"                value="BAND, BOR, BSR, BXOR, DIV, EQUAL, GE, GT, LAND, LE, LITERAL_INSTANCEOF, LOR,                    LT, MINUS, MOD, NOT_EQUAL, QUESTION, SL, SR, STAR, METHOD_REF,                    TYPE_EXTENSION_AND "/>        </module>        <!--注解位置-->        <module name="AnnotationLocation">            <property name="id" value="AnnotationLocationMostCases"/>            <property name="tokens"                value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF,                      RECORD_DEF, COMPACT_CTOR_DEF"/>        </module>        <!--注解位置-->        <module name="AnnotationLocation">            <property name="id" value="AnnotationLocationVariables"/>            <property name="tokens" value="VARIABLE_DEF"/>            <property name="allowSamelineMultipleAnnotations" value="true"/>        </module>        <!--        -->        <module name="NonEmptyAtclauseDescription"/>        <module name="InvalidJavadocPosition"/>        <module name="JavadocTaGContinuationIndentation"/>        <!--命名校验-->        <module name="AbbreviationAsWordInName">            <property name="ignoreStatic" value="false"/>            <property name="allowedAbbreviationLength" value="1"/>            <property name="allowedAbbreviations" value="XML,URL,TRS,VO,DTO,PKI,Mac,IMEI,IMSI"/>        </module>        <module name="LocalVariableName">            <property name="format"                value="^[a-z][a-z0-9]*([A-Z][a-z0-9]+)*(DO|DTO|VO|DAO|BO|DOList|DTOList|VOList|DAOList|BOList|X|Y|Z|UDF|UDAF|[A-Z])?$"/>            <property name="allowOneCharVarInForLoop" value="true"/>            <message key="name.invalidPattern" value="局部变量命名 ''{0}'' 不满足lowerCaseCamel命名规范"/>        </module>        <module name="MemberName">            <property name="format"                value="^[a-z][a-z0-9]*([A-Z][a-z0-9]+)*(DO|DTO|VO|DAO|BO|DOList|DTOList|VOList|DAOList|BOList|X|Y|Z|UDF|UDAF|[A-Z])?$"/>            <message key="name.invalidPattern" value="成员变量命名 ''{0}'' 不满足lowerCaseCamel命名规范"/>        </module>        <module name="MethodName">            <message key="name.invalidPattern" value="方法命名 ''{0}'' 不满足lowerCaseCamel命名规范"/>        </module>        <module name="PackageName">            <message key="name.invalidPattern" value="包命名 ''{0}'' 不满足命名规范"/>        </module>        <module name="ParameterName">            <message key="name.invalidPattern" value="方法传参命名 ''{0}'' 不满足lowerCaseCamel命名规范"/>        </module>    </module></module>

在这里插入图片描述

点击加号,导入checkstyle.xml;
在这里插入图片描述

点击apply,点击ok;
在这里插入图片描述

点击选择刚才导入的checkstyle;
在这里插入图片描述

分别对类、包、项目进行检查可以发现代码中不规范的地方;
在这里插入图片描述

若无问题则显示Checkstyle found no promblems in the file(s);

此插件配置可以在自己练习时使用,不过与插件检测与Maven检测有差异,推荐使用maven编译检测。

(二)添加依赖方式

将checkstyle.xml文件放在项目根目录下(或新建codestyle文件夹放里面);

在pom.xml中添加checkstyle依赖;

<plugin>    <groupId>org.apache.maven.pluginsgroupId>    <artifactId>maven-checkstyle-pluginartifactId>    <version>3.1.2version>    <dependencies>        <dependency>            <groupId>com.puppycrawl.toolsgroupId>            <artifactId>checkstyleartifactId>                        <version>8.36.2version>        dependency>    dependencies>    <executions>        <execution>            <id>checkstyle-validationid>            <phase>compilephase>            <configuration>                                <configLocation>checkstyle.xmlconfigLocation>                <encoding>UTF-8encoding>                <consoleOutput>trueconsoleOutput>                <failOnViolation>truefailOnViolation>            configuration>            <goals>                <goal>checkgoal>            goals>        execution>    executions>plugin>

项目写完后点击maven,点击compile编译项目;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WMt3aijM-1669456326580)(E:\doc\Java\Java学习\0TyporaImg\image-20221125102928048.png)]

查看编译信息,可以看到检查出来的问题;
在这里插入图片描述

根据提示对代码进行修改,直到检测出来所有代码没有问题。

来源地址:https://blog.csdn.net/m0_58969296/article/details/128054864

--结束END--

本文标题: Idea如何配置CheckStyle

本文链接: https://lsjlt.com/news/414924.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Idea如何配置CheckStyle
    一、CheckStyle简介 CheckStyle是SourceForge下的一个项目,提供了一个帮助JAVA开发人员遵守某些编码规范的工具。它能够自动化代码规范检查过程,从而使得开发人员从这项重要但...
    99+
    2023-09-22
    intellij-idea java maven
  • IDEA如何配置Tomcat
    一、使用IDEA配置Tomcat的步骤 1、在IDEA右上角的项目运行列表中选中 Edit Configurations  2、进入新的窗口点击"+"  3、找到Toncat Server中的Local进行点击  4、配置Tomcat...
    99+
    2023-09-08
    intellij-idea java ide
  • IDEA中如何配置Git?
    目录 一、下载git 二、在IDEA中配置git 三、结束语 一、下载git 进入git的官网:https://git-scm.com/,点击Download。 点击Download for Windows。   3、选择对应的版本...
    99+
    2023-09-21
    git idea
  • idea中tomcat如何配置
    要配置Tomcat,您可以按照以下步骤进行操作:1. 下载Tomcat:前往Apache Tomcat官方网站(https://to...
    99+
    2023-08-30
    idea tomcat
  • idea中如何配置tomcat
    目录1.先安装Tomcat2.配置环境变量3.idea配置Tomcat总结1.先安装Tomcat 1).先安装Tomcat Tomcat下载地址 2).下载后解压 3).点击st...
    99+
    2023-03-07
    idea配置tomcat idea tomcat idea tomcat配置
  • 如何配置Flutter+Idea环境
    这篇文章主要介绍了如何配置Flutter+Idea环境,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。安装Flutter SDK首先下载官方文档中 flutter_window...
    99+
    2023-06-21
  • IDEA如何开发配置SparkSQL
    这篇文章将为大家详细讲解有关IDEA如何开发配置SparkSQL,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.添加依赖在idea项目的pom.xml中添加依赖。<!--spark sq...
    99+
    2023-06-20
  • idea如何配置tomcat项目
    配置Tomcat项目需要以下步骤: 下载和安装Tomcat服务器:首先需要下载Tomcat服务器,并按照官方文档中的指导进行安装...
    99+
    2024-04-08
    idea tomcat
  • idea如何配置jdk和maven
    配置JDK和Maven主要是为了在开发过程中能够使用Java和Maven的功能。以下是配置JDK和Maven的步骤: 下载和安装...
    99+
    2024-04-08
    maven idea jdk
  • idea如何同步所有配置
    小编给大家分享一下idea如何同步所有配置,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!intellij idea同步所有配置【导入或导出所有配置】IDEA版本:...
    99+
    2023-06-20
  • IDEA中如何配置安装node.js
    这篇文章主要讲解了“IDEA中如何配置安装node.js”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“IDEA中如何配置安装node.js”吧!idea中支持运行很多种编程语言,只需要在电脑...
    99+
    2023-07-04
  • 如何使用IntelliJ IDEA配置Maven
    小编给大家分享一下如何使用IntelliJ IDEA配置Maven,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1. 什么是 Maven,为什么要使用 Maven...
    99+
    2023-05-30
    intellij idea maven
  • IDEA中如何配置Node环境
    这篇文章主要介绍了IDEA中如何配置Node环境的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇IDEA中如何配置Node环境文章都会有所收获,下面我们一起来看看吧。一、下载Node.js官网下载链接:Node....
    99+
    2023-07-05
  • 如何在idea 中配置ES6语法
    本篇文章为大家展示了如何在idea 中配置ES6语法,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1、点击File→settings:2、选择Languages & Frameworks下面...
    99+
    2023-06-06
  • idea如何配置javaweb开发环境
    要配置JavaWeb开发环境,您需要完成以下步骤:1. 安装Java Development Kit (JDK):从Oracle官网...
    99+
    2023-09-21
    idea javaweb
  • IDEA配置Maven
    文章目录 一、Maven下载&环境配置1.下载Maven2.解压3.配置环境变量4.测试 二、更改Maven中的设置1.编辑settings.xml2.配置本地仓库3.更换默认更新源4.添...
    99+
    2023-08-31
    maven java intellij idea
  • 如何在IDEA中对Docker进行配置
    如何在IDEA中对Docker进行配置?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。配置docker远程连接端口vi /usr/lib/systemd/system/...
    99+
    2023-06-06
  • IDEA之配置Gradle
    最近研究git上一些项目,用到的是gradle,所以了解了gradle的安装和配置,记录一下。 目录 一、下载Gradle二、安装Gradle2.1 解压Gradle2.2 配置环境变量 ...
    99+
    2023-09-06
    intellij-idea java gradle
  • IDEA如何修改配置文件的存放位置
    目录如何修改配置文件的存放位置IDEA读取配置文件1、在IDEA中当使用以下代码读取配置文件时2、创建资源文件如何修改配置文件的存放位置 IDEA配置文件默认是放在C盘的,修改存放位...
    99+
    2024-04-02
  • 如何在IDEA中配置Tomcat(建议收藏)
    创建Web项目 首先我们要用一个idea, 用IDEA创建一个普通的java项目 创建一个模块 名字是Tomcat 创建好后的项目结构如上图,我创建的项目名称...
    99+
    2023-09-20
    intellij-idea java ide Powered by 金山文档
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作