検証環境
Checkstyleバージョン:10.3.3
Javaバージョン:17
チェック概要
チェック追加バージョン |
---|
Checkstyle 4.2 |
ユーザー定義のJavadocタグが、定義されたフォーマットで Javadoc コメントに存在することをチェックする。
タグのフォーマットを定義するために、tagFormatプロパティに正規表現を設定する。
tagSeverityプロパティは、タグが存在するときのイベントの重要度の設定に使用する。
プロパティ
プロパティ | 型 | デフォルト値 | 説明 | 追加バージョン |
---|---|---|---|---|
tag | String | null | タグの名称を指定 | 4.2 |
tagFormat | Pattern | null | タグの内容にマッチする正規表現を指定 | 4.2 |
tagSeverity | SeverityLevel | info | タグが検出され、出力されたときの重要度を指定 | 4.2 |
tokens | トークンの サブセット | INTERFACE_DEF, CLASS_DEF, ENUM_DEF, ANNOTATION_DEF, RECORD_DEF |
チェック対象のトークン | 4.2 |
〇SeverityLevelには以下の値が設定可能
- ignore
- info
- warning
- error
〇トークンのサブセットには以下の値が設定可能
値 | 説明 |
---|---|
INTERFACE_DEF | インターフェース宣言 |
CLASS_DEF | クラス宣言 |
ENUM_DEF | Enum宣言 |
ENUM_CONSTANT_DEF | Enum定数宣言 |
ANNOTATION_DEF | アノテーション宣言 |
RECORD_DEF | レコード宣言 |
METHOD_DEF | メソッド宣言 |
CTOR_DEF | コンストラクタ宣言 |
ANNOTATION_FIELD_DEF | アノテーションフィールド宣言 |
COMPACT_CTOR_DEF | 引数なしコンストラクタ宣言 |
設定+チェック実行結果
プロパティ設定なし
設定ファイル記述方法
<module name="Checker"> <module name="TreeWalker"> <module name="WriteTag"/> </module> </module>
チェック実行例
プロパティ設定がない場合チェックは実行されない
プロパティ設定あり
tag
タグの名称を指定する
設定ファイル記述方法
<module name="Checker"> <module name="TreeWalker"> <module name="WriteTag"> <property name="tag" value="@since"/> </module> </module> </module>
チェック実行例
// NG クラスのJavadocコメントに@sinceタグが必要 /** * Some class */ public class Test { /** some doc */ void foo() {} }
tagFormat
タグの内容にマッチする正規表現を指定する。
設定ファイル記述方法
<module name="Checker"> <module name="TreeWalker"> <module name="WriteTag"> <property name="tag" value="@since"/> <property name="tagFormat" value="[1-9\.]"/> </module> </module> </module>
チェック実行例
// OK @sinceタグの内容も適切 /** * Some class * @since 1.2 */ public class Test { void foo() {} } // NG @sinceタグの内容が不適切 /** * Some class * @since 1.2a */ public class Test { void foo() {} }
tagSeverity
タグが検出され、出力されたときの重要度を指定する。
tagSeverityに "ignore "以外を指定すると、そのようなタグが存在する場合、その深刻度での違反が表示される。
設定ファイル記述方法
<module name="Checker"> <module name="TreeWalker"> <module name="WriteTag"> <property name="tag" value="@since"/> <property name="tagSeverity" value="error"/> </module> </module> </module>
チェック実行例
// sinceタグが存在すると、エラーで報告される /** * Some class * @since 1.2 */ public class Test { void foo() {} }
tokens
チェック対象のトークンを指定する。
設定ファイル記述方法
<module name="Checker"> <module name="TreeWalker"> <module name="WriteTag"> <property name="tag" value="@since"/> <property name="tokens" value="INTERFACE_DEF" /> </module> </module> </module>
チェック実行例
// OK クラス宣言はチェック対象外 /** * Some class * @since 1.2 */ public class Test { void foo() {} }