修飾子のチェック。
| 親モジュール | TreeWalker |
|---|---|
| 実装クラス | com.puppycrawl.tools.checkstyle.checks.ModifierOrderCheck |
修飾子の順番が、JLS 8.1.1, 8.3.1, 8.4.3 に適合しているかチェックします。この順番とは、以下のようなものです。
<module name = "ModifierOrder" />
<rule-configuration
classname = "com.puppycrawl.tools.checkstyle.checks.ModifierOrderCheck"
severity = "warning">
<config-properties />
</rule-configuration>| 親モジュール | TreeWalker |
|---|---|
| 実装クラス | com.puppycrawl.tools.checkstyle.checks.RedundantModifierCheck |
冗長な修飾子をチェックします。インターフェイスのメソッドは、JLS 9.4 に従って public, abstract がないことをチェックします。インターフェイスのフィールドは、JLS 9.3 に従って public, static, final がないことをチェックします。
3.2 からは、final クラスにおいてすべてのメソッドに final がないことをチェックします(JLS 8.4.3.3)。
| プロパティ名 | 型 | デフォルト | 概要 |
| tokens | METHOD_DEF, VARIABLE_DEF | すべて | チェックする対象 |
<module name = "RedundantModifier">
<property name = "tokens" value = "METHOD_DEF" />
</module><rule-configuration
classname = "com.puppycrawl.tools.checkstyle.checks.RedundantModifierCheck"
severity = "warning">
<config-properties>
<config-property name = "tokens" value = "METHOD_DEF" />
</config-properties>
</rule-configuration><module name = "RedundantModifier">
<property name = "tokens" value = "METHOD_DEF, VARIABLE_DEF" />
</module>
としたとき、以下のようになる(以下の例は、インターフェイス内の話)。
OK! void getAttributeName(String name); Boo! public void getAttributeName(String name); Boo! abstract void getAttributeName(String name); OK! int MAX_CONNECTION = 10; Boo! public static final int MAX_CONNECTION = 10;