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 変数を表示して内容をプレビューする機能。

快速修复设置

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

添加额外的代码来创建地点标记注释

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

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

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

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

サマリー

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

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

显示资源
显示资源

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

您还有兴趣吗?

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

了解更多

Secure Code Warrior致力于在整个软件开发生命周期中保护代码,并协助构建将网络安全置于首位的文化。无论您是应用程序安全经理、开发人员、首席信息安全官还是安全相关人员,我们都能帮助您降低与不安全代码相关的风险。

预约演示
分享:
领英品牌社交x 标志
著者
アラン・リチャードソン
2020年10月26日发布

Alan Richardson は 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 変数を表示して内容をプレビューする機能。

快速修复设置

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

添加额外的代码来创建地点标记注释

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

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

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

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

サマリー

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

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

显示资源
显示资源

要下载报告,请填写以下表格。

恳请允许我们向您发送有关本公司产品及/或相关安全编码主题的信息。我们始终以高度谨慎的态度处理您的个人信息,绝不会出于营销目的将其出售给其他公司。

送信
scw 成功图标
SCW 错误图标
要提交表单,请启用“Analytics”Cookie。设置完成后,您可以再次将其禁用。

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

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

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 変数を表示して内容をプレビューする機能。

快速修复设置

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

添加额外的代码来创建地点标记注释

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

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

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

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

サマリー

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

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

观看在线研讨会
开始吧
了解更多

请点击以下链接下载此资源的PDF文件。

Secure Code Warrior致力于在整个软件开发生命周期中保护代码,并协助构建将网络安全置于首位的文化。无论您是应用程序安全经理、开发人员、首席信息安全官还是安全相关人员,我们都能帮助您降低与不安全代码相关的风险。

显示报告预约演示
下载PDF文件
显示资源
分享:
领英品牌社交x 标志
您还有兴趣吗?

分享:
领英品牌社交x 标志
著者
アラン・リチャードソン
2020年10月26日发布

Alan Richardson は 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 変数を表示して内容をプレビューする機能。

快速修复设置

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

添加额外的代码来创建地点标记注释

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

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

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

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

サマリー

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

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

目录

下载PDF文件
显示资源
您还有兴趣吗?

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

了解更多

Secure Code Warrior致力于在整个软件开发生命周期中保护代码,并协助构建将网络安全置于首位的文化。无论您是应用程序安全经理、开发人员、首席信息安全官还是安全相关人员,我们都能帮助您降低与不安全代码相关的风险。

预约演示[下载]
分享:
领英品牌社交x 标志
资源中心

开始所需的资源

其他投稿
资源中心

开始所需的资源

其他投稿