MissingDeprecated
検証環境
Checkstyleバージョン:10.3.3
Javaバージョン:17
チェック概要
チェック追加バージョン |
---|
Checkstyle 5.0 |
アノテーション@Deprecated
とJavadocタグの@deprecated
いずれかが存在する場合、それらの両方が存在することをチェックする。
パッケージへの非推奨の記述はアノテーションとJavadoc両方を必須としない例外的なものであるが、使用するJDKのバージョンによって、package-info.javaに記述したパッケージの@Deprecatedがエラーとなるか、チェックOKとなるかは異なる。
チェックとして検出したくない場合は、SuppressionSingleFilterでpackage-info.javaはチェック対象外となるように設定する。
以下はフィルターの記述例である。
<module name="SuppressionSingleFilter"> <property name="checks" value="MissingDeprecatedCheck"/> <property name="files" value="package-info\.java"/> </module>
プロパティ
プロパティ | 型 | デフォルト値 | 説明 | 追加バージョン |
---|---|---|---|---|
violateExecutionOnNonTightHtml | boolean | false | チェック対象のJavadocがTight-HTML Rulesに違反している場合に違反の表示を制御するかどうか | 8.24 |
設定+チェック実行結果
プロパティ設定なし
設定ファイル記述方法
<module name="Checker"> <module name="TreeWalker"> <module name="MissingDeprecated"/> </module> </module>
チェック実行例
public class MyClass { // OK Javadocコメントがないためチェック対象外 @Deprecated public static final int MY_CONST = 13; // OK /** * @deprecated * <p></p> */ @Deprecated public static final int NUM = 123456; // OK /** * @deprecated * <p> */ @Deprecated public static final int CONST = 12; // NG Javadocに@deprecatedが必要 /** This javadoc is missing deprecated tag. */ @Deprecated public static final int COUNTER = 10; }
プロパティ設定あり
violateExecutionOnNonTightHtml
trueを設定した場合、Javadoc内に記述したHTMLタグに不適切な使用方法をしているものがあった場合に検出する(デフォルト:false)。
設定ファイル記述方法
<module name="Checker"> <module name="TreeWalker"> <module name = "MissingDeprecated"> <property name="violateExecutionOnNonTightHtml" value="true"/> </module> </module> </module>
チェック実行例
public class MyClass { // OK Javadocコメントがないためチェック対象外 @Deprecated public static final int MY_CONST = 13; // OK /** * @deprecated * <p></p> */ @Deprecated public static final int NUM = 123456; // NG <p>の閉じタグがないとNG /** * @deprecated * <p> */ @Deprecated public static final int CONST = 12; // NG Javadocに@deprecatedが必要 /** This javadoc is missing deprecated tag. */ @Deprecated public static final int COUNTER = 10; }