ブログ

ドキュメントリンクの使用Sensei

アラン・リチャードソン
2020年11月09日掲載

新しいライブラリを学んだり、チーム内で合意されたプラクティスを共有する際に難しいのは、文書化してサンプルを作成することです。

小さなサンプルプロジェクトを作ることはよくありますが、実際のコードを扱うときにはそれらを開かないようにしています。

私たちの例やオンラインの例にリンクして、必要なときにURLにアクセスしてより詳しい説明を受けられるような機能があればいいなとよく思っていました。

Javaでは、JavaDocコメントがあり、これにはSeeアノテーションを付けることができます。

/**
 * @see <a href="https://junit.org/junit5/docs/current/user-guide/#writing-tests-annotations">Junit 5 Annotation docs</a>
 */

サードパーティのライブラリにあるこのようなJavaDocは、IntelliJのQuick Documentation機能を使ってより詳細な例にアクセスすることができるので、とても助かります。

しかし、コメントはコードのように頻繁に更新されるものではありませんし、ウェブプレゼンスのメンテナンスは、ライブラリのメンテナンスとは切り離されていることが多く、場合によっては全く別のチームが行っていることもあります。

Sensei の支援方法

Sensei は、ライブラリの注釈やメソッドにマッチする機能を提供し、ウィキやサードパーティのチュートリアルサイトにある長文のドキュメントへのリンクを提供します。

例として、JUnitの@Testアノテーションを使用しています。

JavaDocは非常に詳細で、Quick Documentationビューではアノテーションの使用方法を説明しています。

しかし、Webサイトに掲載されている公式ドキュメントの方が読みやすく、より多くの例が掲載されていることが多いです。

チームがライブラリの学習を始める際に、推奨されるチュートリアルのセットがあると非常に便利です。

Sensei には、URLを開くために使用できるgotoアクションがあり、外部サイトへのリンクや、チームとして有用と思われるドキュメントの例を示すことができるようになっています。

Goto URLの実装

これを実装するには、Junitの@Testアノテーションにマッチする検索を作成します。

search:
   annotation:
    owner:
      method: {}
    type: "org.junit.jupiter.api.Test"


そして、便利だと思ったURLごとにゴートアクションを追加していく。

e.g.

以下の例では、1つのAction JUnit Annotations(learn )を作成し、2つのURLを同時にブラウザで開きます。

availableFixes:
- name: "Learn about JUnit Annotations"
actions:
- goto:
type:"URL"
value:"https://junit.org/junit5/docs/current/user-guide/#writing-tests-annotations"=
- goto:
type:"URL"
value:"https://junit.org/junit5/docs/current/user-guide/#writing-tests-classes-and-methods"

また、IntelliJでAlt+Enter で起動すると、コンテキストメニューが表示され、それを選択するとドキュメントにジャンプすることができます。


マルチプルアクション

複数のアクションを用意して、URLやチュートリアルごとに、 alt+enterで表示されるクイックフィックスのポップアップメニューに、それぞれのオプションを持たせることもできます。

例えば、@Parameterized アノテーションについては、公式ドキュメントやオンラインのサンプルコードのセットにリンクしたい場合があります。

私は単純に、アノテーションを検索するレシピを作ります。

search:
  annotation:
    owner:
      method: {}
    type: "org.junit.jupiter.params.ParameterizedTest"


そして、私が有用だと判断したサイトにはリンクを貼っています。

availableFixes:
- name: "JUnit Annotations (learn)"
actions:
- goto:
type:"URL"
value:"https://junit.org/junit5/docs/current/user-guide/#writing-tests-annotations"
- name: "What is a JUnit Test?(learn)"
アクション:
- goto:
type:"URL"
value:"https://junit.org/junit5/docs/current/user-guide/#writing-tests-classes-and-methods"


すると、両方のリンクがポップアップダイアログに表示されます。

誰が得をするのか?

ライブラリを使用したり学んだりする際、特にチームを率いて新しいライブラリの導入を支援する際に役立つと思いました。

これは、ライブラリを作成するチームにもメリットがあり、ライブラリの採用やライブラリの新機能を案内するための標準的なドキュメント・レシピのセットを作成することができます。

これは、コードのメンテナンスとドキュメントのメンテナンスが異なるチームで行われている場合に特に有効です。

Sensei は IntelliJ の中で `preferences > plugins` を使ってインストールすることができます (単に "sensei secure code" で検索してください)。

このブログ記事のコードはすべてGithubのjunitexamplesモジュールにあります。 https://github.com/SecureCodeWarrior/sensei-blog-examples

 


リソースを見る
リソースを見る

Sensei がどのように開発者の導入や新しいライブラリの採用に役立つかをご紹介します。

ご興味がおありですか?

アラン・リチャードソンは、20年以上にわたり、開発者として、またテスターからテスト責任者まで、あらゆるレベルのテストに携わってきたプロフェッショナルなIT経験を持っています。アラン・リチャードソンは、Secure Code Warrior のデベロッパーリレーションズの責任者として、チームと直接連携し、高品質で安全なコードの開発を促進しています。また、「Dear Evil Tester」や「Java For Testers」など4冊の著書があります。また、テクニカルWebテストやSelenium WebDriver with Javaを学ぶためのオンライントレーニングcourses を作成しています。アランは、SeleniumSimplified.com、EvilTester.com、JavaForTesters.com、CompendiumDev.co.ukに執筆やトレーニングビデオを掲載している。

Secure Code Warrior は、ソフトウェア開発ライフサイクル全体にわたってコードを保護し、サイバーセキュリティを最優先とする企業文化を創造するために、お客様の組織を支援します。AppSec マネージャー、開発者、CISO、またはセキュリティに関わるすべての人が、安全でないコードに関連するリスクを減らすことができるよう、支援します。

デモを予約する
シェアする
著者
アラン・リチャードソン
2020年11月09日掲載

アラン・リチャードソンは、20年以上にわたり、開発者として、またテスターからテスト責任者まで、あらゆるレベルのテストに携わってきたプロフェッショナルなIT経験を持っています。アラン・リチャードソンは、Secure Code Warrior のデベロッパーリレーションズの責任者として、チームと直接連携し、高品質で安全なコードの開発を促進しています。また、「Dear Evil Tester」や「Java For Testers」など4冊の著書があります。また、テクニカルWebテストやSelenium WebDriver with Javaを学ぶためのオンライントレーニングcourses を作成しています。アランは、SeleniumSimplified.com、EvilTester.com、JavaForTesters.com、CompendiumDev.co.ukに執筆やトレーニングビデオを掲載している。

シェアする

新しいライブラリを学んだり、チーム内で合意されたプラクティスを共有する際に難しいのは、文書化してサンプルを作成することです。

小さなサンプルプロジェクトを作ることはよくありますが、実際のコードを扱うときにはそれらを開かないようにしています。

私たちの例やオンラインの例にリンクして、必要なときにURLにアクセスしてより詳しい説明を受けられるような機能があればいいなとよく思っていました。

Javaでは、JavaDocコメントがあり、これにはSeeアノテーションを付けることができます。

/**
 * @see <a href="https://junit.org/junit5/docs/current/user-guide/#writing-tests-annotations">Junit 5 Annotation docs</a>
 */

サードパーティのライブラリにあるこのようなJavaDocは、IntelliJのQuick Documentation機能を使ってより詳細な例にアクセスすることができるので、とても助かります。

しかし、コメントはコードのように頻繁に更新されるものではありませんし、ウェブプレゼンスのメンテナンスは、ライブラリのメンテナンスとは切り離されていることが多く、場合によっては全く別のチームが行っていることもあります。

Sensei の支援方法

Sensei は、ライブラリの注釈やメソッドにマッチする機能を提供し、ウィキやサードパーティのチュートリアルサイトにある長文のドキュメントへのリンクを提供します。

例として、JUnitの@Testアノテーションを使用しています。

JavaDocは非常に詳細で、Quick Documentationビューではアノテーションの使用方法を説明しています。

しかし、Webサイトに掲載されている公式ドキュメントの方が読みやすく、より多くの例が掲載されていることが多いです。

チームがライブラリの学習を始める際に、推奨されるチュートリアルのセットがあると非常に便利です。

Sensei には、URLを開くために使用できるgotoアクションがあり、外部サイトへのリンクや、チームとして有用と思われるドキュメントの例を示すことができるようになっています。

Goto URLの実装

これを実装するには、Junitの@Testアノテーションにマッチする検索を作成します。

search:
   annotation:
    owner:
      method: {}
    type: "org.junit.jupiter.api.Test"


そして、便利だと思ったURLごとにゴートアクションを追加していく。

e.g.

以下の例では、1つのAction JUnit Annotations(learn )を作成し、2つのURLを同時にブラウザで開きます。

availableFixes:
- name: "Learn about JUnit Annotations"
actions:
- goto:
type:"URL"
value:"https://junit.org/junit5/docs/current/user-guide/#writing-tests-annotations"=
- goto:
type:"URL"
value:"https://junit.org/junit5/docs/current/user-guide/#writing-tests-classes-and-methods"

また、IntelliJでAlt+Enter で起動すると、コンテキストメニューが表示され、それを選択するとドキュメントにジャンプすることができます。


マルチプルアクション

複数のアクションを用意して、URLやチュートリアルごとに、 alt+enterで表示されるクイックフィックスのポップアップメニューに、それぞれのオプションを持たせることもできます。

例えば、@Parameterized アノテーションについては、公式ドキュメントやオンラインのサンプルコードのセットにリンクしたい場合があります。

私は単純に、アノテーションを検索するレシピを作ります。

search:
  annotation:
    owner:
      method: {}
    type: "org.junit.jupiter.params.ParameterizedTest"


そして、私が有用だと判断したサイトにはリンクを貼っています。

availableFixes:
- name: "JUnit Annotations (learn)"
actions:
- goto:
type:"URL"
value:"https://junit.org/junit5/docs/current/user-guide/#writing-tests-annotations"
- name: "What is a JUnit Test?(learn)"
アクション:
- goto:
type:"URL"
value:"https://junit.org/junit5/docs/current/user-guide/#writing-tests-classes-and-methods"


すると、両方のリンクがポップアップダイアログに表示されます。

誰が得をするのか?

ライブラリを使用したり学んだりする際、特にチームを率いて新しいライブラリの導入を支援する際に役立つと思いました。

これは、ライブラリを作成するチームにもメリットがあり、ライブラリの採用やライブラリの新機能を案内するための標準的なドキュメント・レシピのセットを作成することができます。

これは、コードのメンテナンスとドキュメントのメンテナンスが異なるチームで行われている場合に特に有効です。

Sensei は IntelliJ の中で `preferences > plugins` を使ってインストールすることができます (単に "sensei secure code" で検索してください)。

このブログ記事のコードはすべてGithubのjunitexamplesモジュールにあります。 https://github.com/SecureCodeWarrior/sensei-blog-examples

 


リソースを見る
リソースを見る

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

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

送信
フォームを送信するには、「Analytics」のCookieを有効にしてください。完了したら、再度無効にしてください。

新しいライブラリを学んだり、チーム内で合意されたプラクティスを共有する際に難しいのは、文書化してサンプルを作成することです。

小さなサンプルプロジェクトを作ることはよくありますが、実際のコードを扱うときにはそれらを開かないようにしています。

私たちの例やオンラインの例にリンクして、必要なときにURLにアクセスしてより詳しい説明を受けられるような機能があればいいなとよく思っていました。

Javaでは、JavaDocコメントがあり、これにはSeeアノテーションを付けることができます。

/**
 * @see <a href="https://junit.org/junit5/docs/current/user-guide/#writing-tests-annotations">Junit 5 Annotation docs</a>
 */

サードパーティのライブラリにあるこのようなJavaDocは、IntelliJのQuick Documentation機能を使ってより詳細な例にアクセスすることができるので、とても助かります。

しかし、コメントはコードのように頻繁に更新されるものではありませんし、ウェブプレゼンスのメンテナンスは、ライブラリのメンテナンスとは切り離されていることが多く、場合によっては全く別のチームが行っていることもあります。

Sensei の支援方法

Sensei は、ライブラリの注釈やメソッドにマッチする機能を提供し、ウィキやサードパーティのチュートリアルサイトにある長文のドキュメントへのリンクを提供します。

例として、JUnitの@Testアノテーションを使用しています。

JavaDocは非常に詳細で、Quick Documentationビューではアノテーションの使用方法を説明しています。

しかし、Webサイトに掲載されている公式ドキュメントの方が読みやすく、より多くの例が掲載されていることが多いです。

チームがライブラリの学習を始める際に、推奨されるチュートリアルのセットがあると非常に便利です。

Sensei には、URLを開くために使用できるgotoアクションがあり、外部サイトへのリンクや、チームとして有用と思われるドキュメントの例を示すことができるようになっています。

Goto URLの実装

これを実装するには、Junitの@Testアノテーションにマッチする検索を作成します。

search:
   annotation:
    owner:
      method: {}
    type: "org.junit.jupiter.api.Test"


そして、便利だと思ったURLごとにゴートアクションを追加していく。

e.g.

以下の例では、1つのAction JUnit Annotations(learn )を作成し、2つのURLを同時にブラウザで開きます。

availableFixes:
- name: "Learn about JUnit Annotations"
actions:
- goto:
type:"URL"
value:"https://junit.org/junit5/docs/current/user-guide/#writing-tests-annotations"=
- goto:
type:"URL"
value:"https://junit.org/junit5/docs/current/user-guide/#writing-tests-classes-and-methods"

また、IntelliJでAlt+Enter で起動すると、コンテキストメニューが表示され、それを選択するとドキュメントにジャンプすることができます。


マルチプルアクション

複数のアクションを用意して、URLやチュートリアルごとに、 alt+enterで表示されるクイックフィックスのポップアップメニューに、それぞれのオプションを持たせることもできます。

例えば、@Parameterized アノテーションについては、公式ドキュメントやオンラインのサンプルコードのセットにリンクしたい場合があります。

私は単純に、アノテーションを検索するレシピを作ります。

search:
  annotation:
    owner:
      method: {}
    type: "org.junit.jupiter.params.ParameterizedTest"


そして、私が有用だと判断したサイトにはリンクを貼っています。

availableFixes:
- name: "JUnit Annotations (learn)"
actions:
- goto:
type:"URL"
value:"https://junit.org/junit5/docs/current/user-guide/#writing-tests-annotations"
- name: "What is a JUnit Test?(learn)"
アクション:
- goto:
type:"URL"
value:"https://junit.org/junit5/docs/current/user-guide/#writing-tests-classes-and-methods"


すると、両方のリンクがポップアップダイアログに表示されます。

誰が得をするのか?

ライブラリを使用したり学んだりする際、特にチームを率いて新しいライブラリの導入を支援する際に役立つと思いました。

これは、ライブラリを作成するチームにもメリットがあり、ライブラリの採用やライブラリの新機能を案内するための標準的なドキュメント・レシピのセットを作成することができます。

これは、コードのメンテナンスとドキュメントのメンテナンスが異なるチームで行われている場合に特に有効です。

Sensei は IntelliJ の中で `preferences > plugins` を使ってインストールすることができます (単に "sensei secure code" で検索してください)。

このブログ記事のコードはすべてGithubのjunitexamplesモジュールにあります。 https://github.com/SecureCodeWarrior/sensei-blog-examples

 


リソースにアクセス

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

Secure Code Warrior は、ソフトウェア開発ライフサイクル全体にわたってコードを保護し、サイバーセキュリティを最優先とする企業文化を創造するために、お客様の組織を支援します。AppSec マネージャー、開発者、CISO、またはセキュリティに関わるすべての人が、安全でないコードに関連するリスクを減らすことができるよう、支援します。

レポートを見るデモを予約する
PDFをダウンロード
リソースを見る
シェアする
ご興味がおありですか?

シェアする
著者
アラン・リチャードソン
2020年11月09日掲載

アラン・リチャードソンは、20年以上にわたり、開発者として、またテスターからテスト責任者まで、あらゆるレベルのテストに携わってきたプロフェッショナルなIT経験を持っています。アラン・リチャードソンは、Secure Code Warrior のデベロッパーリレーションズの責任者として、チームと直接連携し、高品質で安全なコードの開発を促進しています。また、「Dear Evil Tester」や「Java For Testers」など4冊の著書があります。また、テクニカルWebテストやSelenium WebDriver with Javaを学ぶためのオンライントレーニングcourses を作成しています。アランは、SeleniumSimplified.com、EvilTester.com、JavaForTesters.com、CompendiumDev.co.ukに執筆やトレーニングビデオを掲載している。

シェアする

新しいライブラリを学んだり、チーム内で合意されたプラクティスを共有する際に難しいのは、文書化してサンプルを作成することです。

小さなサンプルプロジェクトを作ることはよくありますが、実際のコードを扱うときにはそれらを開かないようにしています。

私たちの例やオンラインの例にリンクして、必要なときにURLにアクセスしてより詳しい説明を受けられるような機能があればいいなとよく思っていました。

Javaでは、JavaDocコメントがあり、これにはSeeアノテーションを付けることができます。

/**
 * @see <a href="https://junit.org/junit5/docs/current/user-guide/#writing-tests-annotations">Junit 5 Annotation docs</a>
 */

サードパーティのライブラリにあるこのようなJavaDocは、IntelliJのQuick Documentation機能を使ってより詳細な例にアクセスすることができるので、とても助かります。

しかし、コメントはコードのように頻繁に更新されるものではありませんし、ウェブプレゼンスのメンテナンスは、ライブラリのメンテナンスとは切り離されていることが多く、場合によっては全く別のチームが行っていることもあります。

Sensei の支援方法

Sensei は、ライブラリの注釈やメソッドにマッチする機能を提供し、ウィキやサードパーティのチュートリアルサイトにある長文のドキュメントへのリンクを提供します。

例として、JUnitの@Testアノテーションを使用しています。

JavaDocは非常に詳細で、Quick Documentationビューではアノテーションの使用方法を説明しています。

しかし、Webサイトに掲載されている公式ドキュメントの方が読みやすく、より多くの例が掲載されていることが多いです。

チームがライブラリの学習を始める際に、推奨されるチュートリアルのセットがあると非常に便利です。

Sensei には、URLを開くために使用できるgotoアクションがあり、外部サイトへのリンクや、チームとして有用と思われるドキュメントの例を示すことができるようになっています。

Goto URLの実装

これを実装するには、Junitの@Testアノテーションにマッチする検索を作成します。

search:
   annotation:
    owner:
      method: {}
    type: "org.junit.jupiter.api.Test"


そして、便利だと思ったURLごとにゴートアクションを追加していく。

e.g.

以下の例では、1つのAction JUnit Annotations(learn )を作成し、2つのURLを同時にブラウザで開きます。

availableFixes:
- name: "Learn about JUnit Annotations"
actions:
- goto:
type:"URL"
value:"https://junit.org/junit5/docs/current/user-guide/#writing-tests-annotations"=
- goto:
type:"URL"
value:"https://junit.org/junit5/docs/current/user-guide/#writing-tests-classes-and-methods"

また、IntelliJでAlt+Enter で起動すると、コンテキストメニューが表示され、それを選択するとドキュメントにジャンプすることができます。


マルチプルアクション

複数のアクションを用意して、URLやチュートリアルごとに、 alt+enterで表示されるクイックフィックスのポップアップメニューに、それぞれのオプションを持たせることもできます。

例えば、@Parameterized アノテーションについては、公式ドキュメントやオンラインのサンプルコードのセットにリンクしたい場合があります。

私は単純に、アノテーションを検索するレシピを作ります。

search:
  annotation:
    owner:
      method: {}
    type: "org.junit.jupiter.params.ParameterizedTest"


そして、私が有用だと判断したサイトにはリンクを貼っています。

availableFixes:
- name: "JUnit Annotations (learn)"
actions:
- goto:
type:"URL"
value:"https://junit.org/junit5/docs/current/user-guide/#writing-tests-annotations"
- name: "What is a JUnit Test?(learn)"
アクション:
- goto:
type:"URL"
value:"https://junit.org/junit5/docs/current/user-guide/#writing-tests-classes-and-methods"


すると、両方のリンクがポップアップダイアログに表示されます。

誰が得をするのか?

ライブラリを使用したり学んだりする際、特にチームを率いて新しいライブラリの導入を支援する際に役立つと思いました。

これは、ライブラリを作成するチームにもメリットがあり、ライブラリの採用やライブラリの新機能を案内するための標準的なドキュメント・レシピのセットを作成することができます。

これは、コードのメンテナンスとドキュメントのメンテナンスが異なるチームで行われている場合に特に有効です。

Sensei は IntelliJ の中で `preferences > plugins` を使ってインストールすることができます (単に "sensei secure code" で検索してください)。

このブログ記事のコードはすべてGithubのjunitexamplesモジュールにあります。 https://github.com/SecureCodeWarrior/sensei-blog-examples

 


目次

PDFをダウンロード
リソースを見る
ご興味がおありですか?

アラン・リチャードソンは、20年以上にわたり、開発者として、またテスターからテスト責任者まで、あらゆるレベルのテストに携わってきたプロフェッショナルなIT経験を持っています。アラン・リチャードソンは、Secure Code Warrior のデベロッパーリレーションズの責任者として、チームと直接連携し、高品質で安全なコードの開発を促進しています。また、「Dear Evil Tester」や「Java For Testers」など4冊の著書があります。また、テクニカルWebテストやSelenium WebDriver with Javaを学ぶためのオンライントレーニングcourses を作成しています。アランは、SeleniumSimplified.com、EvilTester.com、JavaForTesters.com、CompendiumDev.co.ukに執筆やトレーニングビデオを掲載している。

Secure Code Warrior は、ソフトウェア開発ライフサイクル全体にわたってコードを保護し、サイバーセキュリティを最優先とする企業文化を創造するために、お客様の組織を支援します。AppSec マネージャー、開発者、CISO、またはセキュリティに関わるすべての人が、安全でないコードに関連するリスクを減らすことができるよう、支援します。

デモを予約するダウンロード
シェアする
リソース・ハブ

始めるためのリソース

その他の記事
リソース・ハブ

始めるためのリソース

その他の記事