SCW アイコン
ヒーロー背景(区切りなし)
ブログ

リライトアクションを使用してアノテーションにパラメータを追加

アラン・リチャードソン
2020年10月26日 掲載
最終更新日: 2026年3月10日

このブログ記事では、次のことを行います。

  • 注釈の検索と照合のデモンストレーション
  • 口ひげテンプレートを使ったアーメン注釈

Senseiは、問題のあるコードパターンを照合し、合意された実装に合わせて修正する機能を提供します。この例では、問題のあるコードパターンとしてパラメーターなしの @Disabled を使用しています。

無効化されたテスト注釈

特定の理由なしにテストを無効にすると、無効にした理由を忘れてしまうため、長期的には問題になる可能性があります。


@Disabled
void このテストメソッドには無効な理由がありません () {
Assertions.fail (「このテストは無効になっているため、実行すべきではありません」);
}

リスクは、時間が経つにつれてコードベースが移動し、無効になったテストがコードの目的に沿って更新されず、最終的には冗長で無関係になり、二度と有効にならない可能性があることです。

コードレビューでは、注釈パラメータとして説明的な説明を追加するのが良いとよく指摘されます。


@Disabled (「理由を追加したことを示すために無効にされました」)
void このテストメソッドは無効になっています。Reason () {
Assertions.fail (「このテストは無効になっているため、実行すべきではありません」);
}

先生のレシピ

@Disabled が説明なしに追加されたことを検出するレシピと、それを無効にした理由を説明する実際の理由を追加することを思い出させるクイックフィックスを書くことができます。

これから何をするかを考えるとき、私は次のことをしなければなりません。

  • パラメータなしで Disabled アノテーションと一致させる
  • Disabled アノテーションを変更して、「TODO: ここに説明を追加」というマーカーテキストの付いたパラメーターが含まれるようにします

警告レシピの作成

Alt+Enterを使用して新しいレシピを作成します。

新しいレシピの作成機能

次に、一般情報に基本的な説明文を追加します。

一般設定

ルールを警告にすると、一致するコードはすべて強調表示されますが、目立つエラーとしては表示されません。

ルールを警告にする

注釈を探す

レシピエディターで、注釈と一致するように検索を変更します。

これにより、プレビュー内のすべての注釈が強調表示されます。

レシピ編集部

それが済んだら、アノテーションのタイプでフィルタリングしたいと思います。

Disabledを使うこともできますが、JUnit 5のアノテーションとしか一致しないように、クラスをパッケージで完全に修飾します。ソースコードはプレビューに表示されているので、これを実際のコードから簡単にコピーして貼り付けることができ、タイプミスを防ぐことができます。

次に、パラメータなしで注釈だけを一致させたいのですが、GUIを使用してそれを行うことができます。

レシピの設定

すなわち、検索:

検索:
注釈:
タイプ:「org.junit.jupiter.api.disabled」
なし:
パラメーター:
-{}

書き換えクイックフィックスアクションの作成

クイックフィックスでは、リライトアクションを使用します。

私は使う 変数を表示 Mustache 変数を表示して内容をプレビューする機能。

QuickFixの設定

次に、プレースマーカーのコメントを作成するのに必要なコードを追加します。

追加コードでプレースマーカーコメントを作成する

すなわち、クイックフィックス:

利用可能な修正:
-名前:「Todo コメントパラメータを追加」
アクション:
-書き換え:
宛先:「{{{.}}} (\" TODO: ここに説明を追加\」)」
ターゲット:「自己」

センセイ・イン・アクション

実際のレシピ作成プロセスを紹介する短いビデオを作成しました。

サマリー

書き換えクイックフィックスを作成する場合、書き換えたいコード要素を検索できると簡単になります。なぜなら、それがアクションの対象となるセルフエンティティになるからです。

この例では、書き換えアクションを使用して注釈を修正しました。リライトは、どのコード要素にも適用できる汎用アクションで、デフォルトとして検討するとよいでしょう。

リソースを表示
リソースを表示

Senseiを使って問題のあるコードパターンをマッチさせ、アノテーションマッチングの例を使って合意された実装に修正する方法を学びましょう。

もっと興味がありますか?

アラン・リチャードソンは20年以上にわたり、開発者として、テスターからテスト責任者まで、テスト階層のあらゆるレベルで経験を積んできました。Secure Code Warrior 、チームと直接連携して、高品質で安全なコードの開発を改善しています。アランは、「ディア・イーブル・テスター」と「Java フォー・テスター」を含む4冊の本の著者です。また、アランはテクニカル・ウェブ・テストと Java を使った Selenium WebDriver を学ぶのに役立つオンライン・トレーニング・コースも作成しています。アランは、SeleniumSimplified.com、EvilTester.com、JavaForTesters.com、CompendiumDev.co.uk にライティングとトレーニングのビデオを投稿しています。

もっと詳しく

Secure Code Warriorは、ソフトウェア開発ライフサイクル全体にわたってコードを保護し、サイバーセキュリティを最優先とする文化を築くお手伝いをします。アプリケーションセキュリティマネージャー、開発者、CISO、またはセキュリティ関係者であるかに関わらず、安全でないコードに関連するリスクを軽減するお手伝いをします。

デモを予約
シェア:
リンクトインのブランドソーシャルx ロゴ
著者
アラン・リチャードソン
2020年10月26日発行

アラン・リチャードソンは20年以上にわたり、開発者として、テスターからテスト責任者まで、テスト階層のあらゆるレベルで経験を積んできました。Secure Code Warrior 、チームと直接連携して、高品質で安全なコードの開発を改善しています。アランは、「ディア・イーブル・テスター」と「Java フォー・テスター」を含む4冊の本の著者です。また、アランはテクニカル・ウェブ・テストと Java を使った Selenium WebDriver を学ぶのに役立つオンライン・トレーニング・コースも作成しています。アランは、SeleniumSimplified.com、EvilTester.com、JavaForTesters.com、CompendiumDev.co.uk にライティングとトレーニングのビデオを投稿しています。

シェア:
リンクトインのブランドソーシャルx ロゴ

このブログ記事では、次のことを行います。

  • 注釈の検索と照合のデモンストレーション
  • 口ひげテンプレートを使ったアーメン注釈

Senseiは、問題のあるコードパターンを照合し、合意された実装に合わせて修正する機能を提供します。この例では、問題のあるコードパターンとしてパラメーターなしの @Disabled を使用しています。

無効化されたテスト注釈

特定の理由なしにテストを無効にすると、無効にした理由を忘れてしまうため、長期的には問題になる可能性があります。


@Disabled
void このテストメソッドには無効な理由がありません () {
Assertions.fail (「このテストは無効になっているため、実行すべきではありません」);
}

リスクは、時間が経つにつれてコードベースが移動し、無効になったテストがコードの目的に沿って更新されず、最終的には冗長で無関係になり、二度と有効にならない可能性があることです。

コードレビューでは、注釈パラメータとして説明的な説明を追加するのが良いとよく指摘されます。


@Disabled (「理由を追加したことを示すために無効にされました」)
void このテストメソッドは無効になっています。Reason () {
Assertions.fail (「このテストは無効になっているため、実行すべきではありません」);
}

先生のレシピ

@Disabled が説明なしに追加されたことを検出するレシピと、それを無効にした理由を説明する実際の理由を追加することを思い出させるクイックフィックスを書くことができます。

これから何をするかを考えるとき、私は次のことをしなければなりません。

  • パラメータなしで Disabled アノテーションと一致させる
  • Disabled アノテーションを変更して、「TODO: ここに説明を追加」というマーカーテキストの付いたパラメーターが含まれるようにします

警告レシピの作成

Alt+Enterを使用して新しいレシピを作成します。

新しいレシピの作成機能

次に、一般情報に基本的な説明文を追加します。

一般設定

ルールを警告にすると、一致するコードはすべて強調表示されますが、目立つエラーとしては表示されません。

ルールを警告にする

注釈を探す

レシピエディターで、注釈と一致するように検索を変更します。

これにより、プレビュー内のすべての注釈が強調表示されます。

レシピ編集部

それが済んだら、アノテーションのタイプでフィルタリングしたいと思います。

Disabledを使うこともできますが、JUnit 5のアノテーションとしか一致しないように、クラスをパッケージで完全に修飾します。ソースコードはプレビューに表示されているので、これを実際のコードから簡単にコピーして貼り付けることができ、タイプミスを防ぐことができます。

次に、パラメータなしで注釈だけを一致させたいのですが、GUIを使用してそれを行うことができます。

レシピの設定

すなわち、検索:

検索:
注釈:
タイプ:「org.junit.jupiter.api.disabled」
なし:
パラメーター:
-{}

書き換えクイックフィックスアクションの作成

クイックフィックスでは、リライトアクションを使用します。

私は使う 変数を表示 Mustache 変数を表示して内容をプレビューする機能。

QuickFixの設定

次に、プレースマーカーのコメントを作成するのに必要なコードを追加します。

追加コードでプレースマーカーコメントを作成する

すなわち、クイックフィックス:

利用可能な修正:
-名前:「Todo コメントパラメータを追加」
アクション:
-書き換え:
宛先:「{{{.}}} (\" TODO: ここに説明を追加\」)」
ターゲット:「自己」

センセイ・イン・アクション

実際のレシピ作成プロセスを紹介する短いビデオを作成しました。

サマリー

書き換えクイックフィックスを作成する場合、書き換えたいコード要素を検索できると簡単になります。なぜなら、それがアクションの対象となるセルフエンティティになるからです。

この例では、書き換えアクションを使用して注釈を修正しました。リライトは、どのコード要素にも適用できる汎用アクションで、デフォルトとして検討するとよいでしょう。

リソースを表示
リソースを表示

レポートをダウンロードするには、以下のフォームに記入してください

当社の製品および/または関連するセキュアコーディングのトピックに関する情報をお送りする許可をお願いします。当社は、お客様の個人情報を常に細心の注意を払って取り扱い、マーケティング目的で他社に販売することは決してありません。

送信
SCW成功アイコン
SCWエラーアイコン
フォームを送信するには、「アナリティクス」クッキーを有効にしてください。設定が完了したら、再度無効にしても構いません。

このブログ記事では、次のことを行います。

  • 注釈の検索と照合のデモンストレーション
  • 口ひげテンプレートを使ったアーメン注釈

Senseiは、問題のあるコードパターンを照合し、合意された実装に合わせて修正する機能を提供します。この例では、問題のあるコードパターンとしてパラメーターなしの @Disabled を使用しています。

無効化されたテスト注釈

特定の理由なしにテストを無効にすると、無効にした理由を忘れてしまうため、長期的には問題になる可能性があります。


@Disabled
void このテストメソッドには無効な理由がありません () {
Assertions.fail (「このテストは無効になっているため、実行すべきではありません」);
}

リスクは、時間が経つにつれてコードベースが移動し、無効になったテストがコードの目的に沿って更新されず、最終的には冗長で無関係になり、二度と有効にならない可能性があることです。

コードレビューでは、注釈パラメータとして説明的な説明を追加するのが良いとよく指摘されます。


@Disabled (「理由を追加したことを示すために無効にされました」)
void このテストメソッドは無効になっています。Reason () {
Assertions.fail (「このテストは無効になっているため、実行すべきではありません」);
}

先生のレシピ

@Disabled が説明なしに追加されたことを検出するレシピと、それを無効にした理由を説明する実際の理由を追加することを思い出させるクイックフィックスを書くことができます。

これから何をするかを考えるとき、私は次のことをしなければなりません。

  • パラメータなしで Disabled アノテーションと一致させる
  • Disabled アノテーションを変更して、「TODO: ここに説明を追加」というマーカーテキストの付いたパラメーターが含まれるようにします

警告レシピの作成

Alt+Enterを使用して新しいレシピを作成します。

新しいレシピの作成機能

次に、一般情報に基本的な説明文を追加します。

一般設定

ルールを警告にすると、一致するコードはすべて強調表示されますが、目立つエラーとしては表示されません。

ルールを警告にする

注釈を探す

レシピエディターで、注釈と一致するように検索を変更します。

これにより、プレビュー内のすべての注釈が強調表示されます。

レシピ編集部

それが済んだら、アノテーションのタイプでフィルタリングしたいと思います。

Disabledを使うこともできますが、JUnit 5のアノテーションとしか一致しないように、クラスをパッケージで完全に修飾します。ソースコードはプレビューに表示されているので、これを実際のコードから簡単にコピーして貼り付けることができ、タイプミスを防ぐことができます。

次に、パラメータなしで注釈だけを一致させたいのですが、GUIを使用してそれを行うことができます。

レシピの設定

すなわち、検索:

検索:
注釈:
タイプ:「org.junit.jupiter.api.disabled」
なし:
パラメーター:
-{}

書き換えクイックフィックスアクションの作成

クイックフィックスでは、リライトアクションを使用します。

私は使う 変数を表示 Mustache 変数を表示して内容をプレビューする機能。

QuickFixの設定

次に、プレースマーカーのコメントを作成するのに必要なコードを追加します。

追加コードでプレースマーカーコメントを作成する

すなわち、クイックフィックス:

利用可能な修正:
-名前:「Todo コメントパラメータを追加」
アクション:
-書き換え:
宛先:「{{{.}}} (\" TODO: ここに説明を追加\」)」
ターゲット:「自己」

センセイ・イン・アクション

実際のレシピ作成プロセスを紹介する短いビデオを作成しました。

サマリー

書き換えクイックフィックスを作成する場合、書き換えたいコード要素を検索できると簡単になります。なぜなら、それがアクションの対象となるセルフエンティティになるからです。

この例では、書き換えアクションを使用して注釈を修正しました。リライトは、どのコード要素にも適用できる汎用アクションで、デフォルトとして検討するとよいでしょう。

オンラインセミナーを見る
始めよう
もっと詳しく

以下のリンクをクリックして、このリソースのPDFをダウンロードしてください。

Secure Code Warriorは、ソフトウェア開発ライフサイクル全体にわたってコードを保護し、サイバーセキュリティを最優先とする文化を築くお手伝いをします。アプリケーションセキュリティマネージャー、開発者、CISO、またはセキュリティ関係者であるかに関わらず、安全でないコードに関連するリスクを軽減するお手伝いをします。

レポートを表示デモを予約
PDFをダウンロード
リソースを表示
シェア:
リンクトインのブランドソーシャルx ロゴ
もっと興味がありますか?

シェア:
リンクトインのブランドソーシャルx ロゴ
著者
アラン・リチャードソン
2020年10月26日発行

アラン・リチャードソンは20年以上にわたり、開発者として、テスターからテスト責任者まで、テスト階層のあらゆるレベルで経験を積んできました。Secure Code Warrior 、チームと直接連携して、高品質で安全なコードの開発を改善しています。アランは、「ディア・イーブル・テスター」と「Java フォー・テスター」を含む4冊の本の著者です。また、アランはテクニカル・ウェブ・テストと Java を使った Selenium WebDriver を学ぶのに役立つオンライン・トレーニング・コースも作成しています。アランは、SeleniumSimplified.com、EvilTester.com、JavaForTesters.com、CompendiumDev.co.uk にライティングとトレーニングのビデオを投稿しています。

シェア:
リンクトインのブランドソーシャルx ロゴ

このブログ記事では、次のことを行います。

  • 注釈の検索と照合のデモンストレーション
  • 口ひげテンプレートを使ったアーメン注釈

Senseiは、問題のあるコードパターンを照合し、合意された実装に合わせて修正する機能を提供します。この例では、問題のあるコードパターンとしてパラメーターなしの @Disabled を使用しています。

無効化されたテスト注釈

特定の理由なしにテストを無効にすると、無効にした理由を忘れてしまうため、長期的には問題になる可能性があります。


@Disabled
void このテストメソッドには無効な理由がありません () {
Assertions.fail (「このテストは無効になっているため、実行すべきではありません」);
}

リスクは、時間が経つにつれてコードベースが移動し、無効になったテストがコードの目的に沿って更新されず、最終的には冗長で無関係になり、二度と有効にならない可能性があることです。

コードレビューでは、注釈パラメータとして説明的な説明を追加するのが良いとよく指摘されます。


@Disabled (「理由を追加したことを示すために無効にされました」)
void このテストメソッドは無効になっています。Reason () {
Assertions.fail (「このテストは無効になっているため、実行すべきではありません」);
}

先生のレシピ

@Disabled が説明なしに追加されたことを検出するレシピと、それを無効にした理由を説明する実際の理由を追加することを思い出させるクイックフィックスを書くことができます。

これから何をするかを考えるとき、私は次のことをしなければなりません。

  • パラメータなしで Disabled アノテーションと一致させる
  • Disabled アノテーションを変更して、「TODO: ここに説明を追加」というマーカーテキストの付いたパラメーターが含まれるようにします

警告レシピの作成

Alt+Enterを使用して新しいレシピを作成します。

新しいレシピの作成機能

次に、一般情報に基本的な説明文を追加します。

一般設定

ルールを警告にすると、一致するコードはすべて強調表示されますが、目立つエラーとしては表示されません。

ルールを警告にする

注釈を探す

レシピエディターで、注釈と一致するように検索を変更します。

これにより、プレビュー内のすべての注釈が強調表示されます。

レシピ編集部

それが済んだら、アノテーションのタイプでフィルタリングしたいと思います。

Disabledを使うこともできますが、JUnit 5のアノテーションとしか一致しないように、クラスをパッケージで完全に修飾します。ソースコードはプレビューに表示されているので、これを実際のコードから簡単にコピーして貼り付けることができ、タイプミスを防ぐことができます。

次に、パラメータなしで注釈だけを一致させたいのですが、GUIを使用してそれを行うことができます。

レシピの設定

すなわち、検索:

検索:
注釈:
タイプ:「org.junit.jupiter.api.disabled」
なし:
パラメーター:
-{}

書き換えクイックフィックスアクションの作成

クイックフィックスでは、リライトアクションを使用します。

私は使う 変数を表示 Mustache 変数を表示して内容をプレビューする機能。

QuickFixの設定

次に、プレースマーカーのコメントを作成するのに必要なコードを追加します。

追加コードでプレースマーカーコメントを作成する

すなわち、クイックフィックス:

利用可能な修正:
-名前:「Todo コメントパラメータを追加」
アクション:
-書き換え:
宛先:「{{{.}}} (\" TODO: ここに説明を追加\」)」
ターゲット:「自己」

センセイ・イン・アクション

実際のレシピ作成プロセスを紹介する短いビデオを作成しました。

サマリー

書き換えクイックフィックスを作成する場合、書き換えたいコード要素を検索できると簡単になります。なぜなら、それがアクションの対象となるセルフエンティティになるからです。

この例では、書き換えアクションを使用して注釈を修正しました。リライトは、どのコード要素にも適用できる汎用アクションで、デフォルトとして検討するとよいでしょう。

目次

PDFをダウンロード
リソースを表示
もっと興味がありますか?

アラン・リチャードソンは20年以上にわたり、開発者として、テスターからテスト責任者まで、テスト階層のあらゆるレベルで経験を積んできました。Secure Code Warrior 、チームと直接連携して、高品質で安全なコードの開発を改善しています。アランは、「ディア・イーブル・テスター」と「Java フォー・テスター」を含む4冊の本の著者です。また、アランはテクニカル・ウェブ・テストと Java を使った Selenium WebDriver を学ぶのに役立つオンライン・トレーニング・コースも作成しています。アランは、SeleniumSimplified.com、EvilTester.com、JavaForTesters.com、CompendiumDev.co.uk にライティングとトレーニングのビデオを投稿しています。

もっと詳しく

Secure Code Warriorは、ソフトウェア開発ライフサイクル全体にわたってコードを保護し、サイバーセキュリティを最優先とする文化を築くお手伝いをします。アプリケーションセキュリティマネージャー、開発者、CISO、またはセキュリティ関係者であるかに関わらず、安全でないコードに関連するリスクを軽減するお手伝いをします。

デモを予約[ダウンロード]
シェア:
リンクトインのブランドソーシャルx ロゴ
リソースハブ

始めるためのリソース

その他の投稿
リソースハブ

始めるためのリソース

その他の投稿