修飾子のチェック。
親モジュール | 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;