Checkstyle Javaルール

CheckstyleのJavaルールについて1つずつまとめます

RecordComponentNumber

CheckStyle公式ドキュメント

検証環境

Checkstyleバージョン:10.3.3
Javaバージョン:17


チェック概要

チェック追加バージョン
Checkstyle 8.36

レコード定義のヘッダに含まれるレコードコンポーネントの数をチェックする。

プロパティ

プロパティ デフォルト値 説明 追加バージョン
max int 8 最大値 8.36
accessModifiers AccessModifierOption[] public,
protected,
package,
private
チェック対象のアクセス修飾子 8.36

〇AccessModifierOptionには以下の値が設定可能

  • public
  • protected
  • package
  • private

設定+チェック実行結果

プロパティ設定なし

設定ファイル記述方法

<module name="Checker">
    <module name="TreeWalker">
        <module name="RecordComponentNumber"/>
    </module>
</module>

チェック実行例

// NG レコードコンポーネントの数は「8」まで
record MyRecord2(int x, int y, String str,
                    Node node, Order order, Data data,
                    String location, Date date, Image image) {
}

プロパティ設定あり

max

レコード定義のヘッダで許容されるコンポーネントの最大数(デフォルト:8)

設定ファイル記述方法

<module name="Checker">
    <module name="TreeWalker">
        <module name="RecordComponentNumber">
            <property name="max" value="3"/>
        </module>
    </module>
</module>

チェック実行例

// NG レコードコンポーネントの数は「3」まで
record MyRecord2(int x, int y, String str,
                    Node node) {
}

accessModifiers

レコード定義のヘッダで許容されるコンポーネントの最大数(デフォルト:8)

設定ファイル記述方法

<module name="Checker">
    <module name="TreeWalker">
        <module name="RecordComponentNumber">
            <property name="accessModifiers" value="private"/>
        </module>
    </module>
</module>

チェック実行例

// NG プライベートメソッドのレコードコンポーネントの数は「8」まで
private record MyRecord2(int x, int y, String str,
                    Node node, Order order, Data data,
                    String location, Date date, Image image) {
}