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>