Java Checkstyle 严重级别继承的含义是什么?

7

在checkstyle规则中,将严重级别设置为“inherit”实际上意味着什么?

我尝试过搜索,但没有找到确切的定义。


使用父级的相同内容?这就是应该的。 - Srinath Ganesh
1
父类?好的,考虑以下示例:抽象类名称或常量变量名称的规则定义为继承严重性,那么这里的父类是谁? - pranky64
请发布带有必要信息的日志或样式表。据我所知,inherited不是checkstyle严重性的有效值。 - Thihara
@Thihara:实际上它显示在 Eclipse-CS 集成器的下拉菜单中,我猜测这是 Eclipse 的 Checkstyle 插件。 - pranky64
2个回答

6

Checkstyle规则以一个小但重要的层次结构进行配置。 Checker处于顶部,其中之一的“子项”是Treewalker等等。可以为单个检查定义属性,也可以为这些“父检查”定义属性。因此,您平常使用的Checkstyle配置文件如下:

<module name="Checker">
    <property name="severity" value="warning"/>  <!-- NOTE THIS -->
    <module name="TreeWalker">
        <property name="tabWidth" value="4"/>
        <module name="JavadocMethod">
            <property name="scope" value="public"/>
        </module>
    <!-- and so on -->
    </module>
    <!-- and so on -->
</module>

您可以看到,Checker 是顶层模块,具有 severity 属性。如果在继承结构中的某个较低级别的检查设置了其严重性为 inherit(与未设置任何内容相同),则在此示例中,其严重性将为 warning


0
命令行属性和ant Checkstyle任务属性适用于根Checker模块。此外,属性在模块层次结构中继承。
有关详细信息,请参见Checkstyle文档

这是否意味着,如果我有一个自定义的checkstyle配置,它将继承默认配置,即sun checks? 因此,如果我理解正确,对于定义的这样一条规则的严重性将与“Sun Checks”中定义的严重性相同? - pranky64
此外,属性在模块层次结构中是继承的。实际上,它们是从哪里继承来的? - pranky64

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接