Java 从CheckStyle中的方法计数中排除getter和setter

Java 从CheckStyle中的方法计数中排除getter和setter,java,intellij-idea,checkstyle,Java,Intellij Idea,Checkstyle,我得到了定制的checkstyle.xml文件,其中包含MethodCount的条目,如下所示: <module name="MethodCount"> <property name="maxTotal" value="20"/> <property name="maxPrivate" value="10"/> <property name="maxPublic" value="10"/> <property

我得到了定制的
checkstyle.xml
文件,其中包含MethodCount的条目,如下所示:

<module name="MethodCount">
    <property name="maxTotal" value="20"/>
    <property name="maxPrivate" value="10"/>
    <property name="maxPublic" value="10"/>
    <property name="severity" value="error"/>
</module>


然而,这给另一个web服务提供的具有getter和setter的大型模型类带来了问题。我能排除这种方法吗?或者不计算这些值被认为是一种不好的做法吗?

您可以创建
suppression.xml
文件:

<?xml version="1.0"?>

<!DOCTYPE suppressions PUBLIC
    "-//Checkstyle//DTD SuppressionFilter Configuration 1.2//EN"
    "https://checkstyle.org/dtds/suppressions_1_2.dtd">

<suppressions>
    <suppress files="\w*(Dto.java|Entity.java)\b" checks="MethodCount"/>
</suppressions>
然后,对于以
Entity.java
Dto.java
结尾的文件,您将禁止检查
MethodCount

否则,您不能仅抑制getter/setter。通常,对于实体或DTO之类的数据结构,使用getter和setter的字段超过5个并不成问题


但是,如果您有真实的对象,那么为每个字段添加setter/getter是一种不好的做法。

不太确定这是否是您需要的,但您可以忽略检查中的getter和setter方法:

转到设置(CTRL+Alt+S), 然后编辑器->检查->Java->类度量->类包含太多方法


遗憾的是,在“检查”选项卡中更改此项并不会使CheckStyle更改其行为。这是一种解决方法,但在我自己在文档中查找此项后,我可以确认您不能按名称排除方法。您需要排除整个DTO类。
<module name="SuppressionFilter">
    <property name="file" value="./suppression.xml"/>
</module>