我正在使用maven checkstyle插件并遇到此错误:
InnerAssignment: Inner assignments should be avoided.
我读到了这个错误here。虽然这个检查对我有意义,但我想配置插件,以便它不会抱怨表单的内部赋值:
i = j = k = l = m = 0;
这是我在代码中真正拥有的内容。怎么办呢?
答案 0 :(得分:2)
您需要通过提供自己的checkstyle.xml
文件来定义自己的规则:
在pom
文件中,将插件配置为下一个
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.17</version>
<configuration>
<configLocation>${pom.basedir}/checkstyle.xml</configLocation>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
然后从the checkstyle project获取默认的checkstyle.xml
文件,只需删除模块InnerAssignment
即可对其进行自定义。为此,只需从您自己的checkstyle.xml
文件中删除以下行:
<module name="InnerAssignment"/>
响应更新:
实际上,我们自定义此规则的方式无法满足您的要求,因为您可以决定通过分配类型而不是按照您的方式启用。我的意思是,如果你决定为=
禁用它,你实际上会为i = j = k = l = m = 0;
禁用它,但也会String s = Integer.toString(i = 2);
禁用它,这不是你想要的。此外,我做了测试,甚至我们在文档中的内容都不起作用,似乎这个规则甚至不可配置,所以你保持原样,或者你按照上面的建议删除它。