从 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>
然后您将禁止检查 MethodCount
以 Entity.java
或 Dto.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
我得到了带有 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>
然后您将禁止检查 MethodCount
以 Entity.java
或 Dto.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