SCW Icons
hero bg no divider
Blog

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

アラン・リチャードソン
Published Oct 26, 2020
Last updated on Mar 10, 2026

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

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

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

無効化されたテスト注釈

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


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

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

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


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

先生のレシピ

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

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

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

警告レシピの作成

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

Create A New Recipe Function

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

General Settings

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

Making The Rule A Warning

注釈を探す

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

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

Recipe Editor

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

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

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

Recipe Settings

すなわち、検索:

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

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

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

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

QuickFix Settings

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

Add Extra code To Create The Place Marker Comment

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

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

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

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

サマリー

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

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

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

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

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

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

learn more

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

デモを予約
シェア:
linkedin brandsSocialx logo
著者
アラン・リチャードソン
Published Oct 26, 2020

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

シェア:
linkedin brandsSocialx logo

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

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

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

無効化されたテスト注釈

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


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

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

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


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

先生のレシピ

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

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

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

警告レシピの作成

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

Create A New Recipe Function

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

General Settings

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

Making The Rule A Warning

注釈を探す

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

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

Recipe Editor

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

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

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

Recipe Settings

すなわち、検索:

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

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

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

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

QuickFix Settings

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

Add Extra code To Create The Place Marker Comment

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

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

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

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

サマリー

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

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

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

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

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

送信
scw success icon
scw error icon
フォームを送信するには、「アナリティクス」クッキーを有効にしてください。設定が完了したら、再度無効にしても構いません。

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

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

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

無効化されたテスト注釈

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


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

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

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


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

先生のレシピ

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

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

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

警告レシピの作成

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

Create A New Recipe Function

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

General Settings

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

Making The Rule A Warning

注釈を探す

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

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

Recipe Editor

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

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

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

Recipe Settings

すなわち、検索:

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

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

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

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

QuickFix Settings

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

Add Extra code To Create The Place Marker Comment

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

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

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

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

サマリー

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

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

オンラインセミナーを見る
始めよう
learn more

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

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

レポートを表示デモを予約
PDF をダウンロード
リソースを表示
シェア:
linkedin brandsSocialx logo
もっと興味がありますか?

シェア:
linkedin brandsSocialx logo
著者
アラン・リチャードソン
Published Oct 26, 2020

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

シェア:
linkedin brandsSocialx logo

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

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

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

無効化されたテスト注釈

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


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

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

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


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

先生のレシピ

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

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

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

警告レシピの作成

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

Create A New Recipe Function

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

General Settings

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

Making The Rule A Warning

注釈を探す

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

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

Recipe Editor

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

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

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

Recipe Settings

すなわち、検索:

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

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

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

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

QuickFix Settings

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

Add Extra code To Create The Place Marker Comment

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

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

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

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

サマリー

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

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

目次

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

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

learn more

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

デモを予約[ダウンロード]
シェア:
linkedin brandsSocialx logo
リソースハブ

始めるためのリソース

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

始めるためのリソース

その他の投稿