gpt4 book ai didi

java - 在 checkstyle 中使用 ID 抑制

转载 作者:行者123 更新时间:2023-12-02 03:20:46 25 4
gpt4 key购买 nike

我想让 checkstyle 忽略测试中 @throws 子句缺少的 javadoc,但在非测试中提示。

因为抑制文件不支持 JavadocMethod 的子属性,我被迫要么完全忽略测试中的 javadoc,要么根本不忽略,没有任何粒度。这也是this other question.的结论

这就是我现在正在尝试的:我的 checkstyle 配置中是否可以有两个具有不同 id 的 JavadocMethod 模块(例如 testnotest),并有选择地抑制 test 模块用于非测试,反之亦然?

我无法让它工作,并且我开始认为我不能在 checkstyle 中有重复的模块。有什么见解吗?

以下是我在配置 xml 中关于 JavadocMethod 的规则:

<module name="JavadocMethod">
<property name="id" value="nontest"/>
</module>
<module name="JavadocMethod">
<property name="id" value="test"/>
<property name="allowMissingThrowsTags" value="true"/>
</module>

这是我的抑制文件:

<suppressions>
<!-- Supress non-test-doc on tests -->
<suppress id="nontestdoc" files=".*(?:Test|IT).*java" />
<suppress id="testdoc" files=".*(?!Test|IT).*java" />
</suppressions>

谢谢!

最佳答案

您可以在 checkstyle 中拥有重复的模块。

尝试分别使用 tab 2tab 4 的 2 个 Indentation 模块。并使用 suppression.xml 如下所示

<?xml version="1.0"?>

<!DOCTYPE suppressions PUBLIC
"-//Puppy Crawl//DTD Suppressions 1.1//EN"
"http://www.puppycrawl.com/dtds/suppressions_1_1.dtd">

<suppressions>
<suppress id="IndnA" files=".*\.java"/>
<suppress id="IndnB" files=".*\.java"/>
</suppressions>

正则表达式 .*(?:Test|IT).*java.*(?!Test|IT).*java 的用途是什么?为什么使用 LookAhead?

请检查 .*\.java 文件是否有效。

关于java - 在 checkstyle 中使用 ID 抑制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13605883/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com