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

Exclude getters and setters from method count in CheckStyle

我得到了带有 MethodCount 条目的自定义 checkstyle.xml 文件,如下所示:

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

然而,这会为带有 getter 和 setter 的大型模型 类 带来问题,它们由另一个 Web 服务提供。我可以以某种方式排除这种方法吗?或者这被认为是不计算这些的不良做法?

您可以创建 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>

并将其指向 checkstyle.xml

<module name="SuppressionFilter">
    <property name="file" value="./suppression.xml"/>
</module>

然后您将禁止检查 MethodCountEntity.javaDto.java

结尾的文件

AFAIK 你不能只压制 getters/setters。通常,对于像实体或 dtos 这样的数据结构,具有 5 个以上具有 getter 和 setter 的字段不是问题。

但是如果你有真实的对象,为每个字段添加 setter/getters 被认为是一种不好的做法。

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

转到Settings (CTRL+Alt+S), 然后 Editor->Inspections->Java->Class metrics->Class with too many methods