ブログ

Sensei とは?

アラン・リチャードソン
2020年10月08日発行

Sensei プラグインは、ソース・コードの中から特定のコード・パターンを見つけ出し、一致するコードを修正するために書き換えルールを適用する簡単な方法を提供します。すべてはIntellij IDEの中で、しかもリアルタイムで行われます。

例えば、理由のない JUnit の `@Disabled` アノテーションにマッチするルールを作成することができます。Sensei は、IDE でコードをハイライトして問題を知らせてくれます。

さらに、`alt+enter`すると、`Todoコメントのパラメータを追加する`というオプションがあります。

これを選択すると、コードを修正して定型的な理由を追加することができます。

例えば、`@Disabled` は ` @Disabled("TODO: add a description here")` となります。

Sensei は、静的解析コードスキャナの機能とコード書き換えエンジンを組み合わせたものです。

IntelliJ Intention Actions

上記の説明に基づけば、(Sensei を使用していなかった場合)明らかな代替案は、IntelliJ Intention Actions 機能を使用することです。

Sensei はIntelliJ Intention Actionsとは異なります。Sensei の目的は、プロジェクト固有の、あるいは開発者個人のローカルなマッチャーやリライタを作成する方法を提供することです。

私たちは、マッチングルールとリライトルールの両方が簡単に書けて、実験できるようなGUIをまとめてみました。

個人的な向上にどのように役立つのか?

新しいライブラリを学ぶときは、その方法やフォーマットを筋肉に記憶させるのに時間がかかります。そのため、私は以下のようなパーソナルレシピを作成することにしました。

  • 公式ドキュメントやチュートリアルページへのリンク
  • 最も効果的な定型的なテンプレートを持っている
  • 不適切なコーディングの修正
  • ライブラリーの使用に役立つボイラープレートコードの追加

Sensei を使って一時的なレシピを作り、自分が選んだ現在の練習方法を促し、効果的な習慣を身につけることができます。そして、そのレシピは一時的なものであり、私が使いこなせなくなったら削除することができるからです。

私のチームの改善にどのように役立つのか?

それと同じように、私たちはチームが合意されたコーディングスタンダードを筋肉に記憶させる手助けをします。

プルリクエストのレビューで同じコメントを見つけたときに適用するレシピのクックブックを作成。クックブックはプロジェクトと一緒にバージョンコントロールに保存されるので、プロジェクトに参加している全員が利用できます。また、プロンプトが不要になったときには、クックブックをオフにすることもできます。

Sensei 、早期にフィードバックを行うことができます。

Sensei で構築しようとしたのは、改善に役立つフィードバックと是正措置のリマインダーを、コーディングプロセスのできるだけ早い段階で引き出す方法です。

を待つのではなく

  • スタティック・アナライザーの結果
  • コードレビューのコメント

その代わりに、強制したいカスタムスタンダードに対するフィードバックを、コーディングしながら確認することができます。

そして、標準に準拠したコードを書くために、注意喚起や実際の書き換えルールが用意されています。

Sensei はフレキシブルです。

そういう意味では、Sensei は、ちょっとしたミックスですね。

  • part Static Analyser
  • コーディング・チューター
  • リライトエンジン

Sensei は、"What isSensei? "と言う仕事を少しだけ難しくするほどの柔軟性があります。

Sensei プログラミングワークフローのギャップを埋める

Sensei は、プログラマーのワークフローに欠けている部分であり、あなたやあなたのチームが現在取り組んでいるコーディングスタイルやライブラリの使用における特定の要素を改善するのに役立つものにしようと考えています。

この柔軟性は、静的解析ツールや組み込みのIntelliJ Intentionsに比べて、Sensei を使いこなすのに少し時間がかかることを意味します。それでも、実験に時間を費やすことで、個人の開発プロセスにおける学習をスピードアップする新しい方法を得ることができます。

実験方法は?

Sensei を[Intellij Marketplace]からダウンロードしてインストールしたら。

Sensei を活用する最も簡単な方法は、自分のコーディングプロセスを見て検討することです。

  • どんなドキュメントを調べ続けているのか?
    -- そのドキュメントにリンクしたSensei のレシピを追加することができます。

  • -- そのお粗末なコーディングパターンを一時的にmatcherとしてコード化し、本当に書きたいコードに修正するQuick Fix rewriteを書いてみてはいかがでしょうか。
  • ライブラリを使用するために、どのような定型的なコードを書くのですか?
    -- コードを書いてくれるQuick Fixルールを作ればいいのではないでしょうか。

Sensei は、あなたが使用しているどのような静的解析ツールと一緒に動作するように設計されているので、もし静的解析から同じ違反が報告されていることがわかったら、Sensei のレシピでその条件を再現することができます。そして、間違いを発見するだけでなく、正しいコードを素早く書けるように訓練するために、Quick Fixを追加することができます。

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

Sensei プラグインは、ソース・コードの中から特定のコード・パターンを見つけ出し、一致するコードを修正するために書き換えルールを適用する簡単な方法を提供します。すべてはIntellij IDEの中で、しかもリアルタイムで行われます。

ご興味がおありですか?

アラン・リチャードソンは、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年10月08日発行

アラン・リチャードソンは、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に執筆やトレーニングビデオを掲載している。

シェアする

Sensei プラグインは、ソース・コードの中から特定のコード・パターンを見つけ出し、一致するコードを修正するために書き換えルールを適用する簡単な方法を提供します。すべてはIntellij IDEの中で、しかもリアルタイムで行われます。

例えば、理由のない JUnit の `@Disabled` アノテーションにマッチするルールを作成することができます。Sensei は、IDE でコードをハイライトして問題を知らせてくれます。

さらに、`alt+enter`すると、`Todoコメントのパラメータを追加する`というオプションがあります。

これを選択すると、コードを修正して定型的な理由を追加することができます。

例えば、`@Disabled` は ` @Disabled("TODO: add a description here")` となります。

Sensei は、静的解析コードスキャナの機能とコード書き換えエンジンを組み合わせたものです。

IntelliJ Intention Actions

上記の説明に基づけば、(Sensei を使用していなかった場合)明らかな代替案は、IntelliJ Intention Actions 機能を使用することです。

Sensei はIntelliJ Intention Actionsとは異なります。Sensei の目的は、プロジェクト固有の、あるいは開発者個人のローカルなマッチャーやリライタを作成する方法を提供することです。

私たちは、マッチングルールとリライトルールの両方が簡単に書けて、実験できるようなGUIをまとめてみました。

個人的な向上にどのように役立つのか?

新しいライブラリを学ぶときは、その方法やフォーマットを筋肉に記憶させるのに時間がかかります。そのため、私は以下のようなパーソナルレシピを作成することにしました。

  • 公式ドキュメントやチュートリアルページへのリンク
  • 最も効果的な定型的なテンプレートを持っている
  • 不適切なコーディングの修正
  • ライブラリーの使用に役立つボイラープレートコードの追加

Sensei を使って一時的なレシピを作り、自分が選んだ現在の練習方法を促し、効果的な習慣を身につけることができます。そして、そのレシピは一時的なものであり、私が使いこなせなくなったら削除することができるからです。

私のチームの改善にどのように役立つのか?

それと同じように、私たちはチームが合意されたコーディングスタンダードを筋肉に記憶させる手助けをします。

プルリクエストのレビューで同じコメントを見つけたときに適用するレシピのクックブックを作成。クックブックはプロジェクトと一緒にバージョンコントロールに保存されるので、プロジェクトに参加している全員が利用できます。また、プロンプトが不要になったときには、クックブックをオフにすることもできます。

Sensei 、早期にフィードバックを行うことができます。

Sensei で構築しようとしたのは、改善に役立つフィードバックと是正措置のリマインダーを、コーディングプロセスのできるだけ早い段階で引き出す方法です。

を待つのではなく

  • スタティック・アナライザーの結果
  • コードレビューのコメント

その代わりに、強制したいカスタムスタンダードに対するフィードバックを、コーディングしながら確認することができます。

そして、標準に準拠したコードを書くために、注意喚起や実際の書き換えルールが用意されています。

Sensei はフレキシブルです。

そういう意味では、Sensei は、ちょっとしたミックスですね。

  • part Static Analyser
  • コーディング・チューター
  • リライトエンジン

Sensei は、"What isSensei? "と言う仕事を少しだけ難しくするほどの柔軟性があります。

Sensei プログラミングワークフローのギャップを埋める

Sensei は、プログラマーのワークフローに欠けている部分であり、あなたやあなたのチームが現在取り組んでいるコーディングスタイルやライブラリの使用における特定の要素を改善するのに役立つものにしようと考えています。

この柔軟性は、静的解析ツールや組み込みのIntelliJ Intentionsに比べて、Sensei を使いこなすのに少し時間がかかることを意味します。それでも、実験に時間を費やすことで、個人の開発プロセスにおける学習をスピードアップする新しい方法を得ることができます。

実験方法は?

Sensei を[Intellij Marketplace]からダウンロードしてインストールしたら。

Sensei を活用する最も簡単な方法は、自分のコーディングプロセスを見て検討することです。

  • どんなドキュメントを調べ続けているのか?
    -- そのドキュメントにリンクしたSensei のレシピを追加することができます。

  • -- そのお粗末なコーディングパターンを一時的にmatcherとしてコード化し、本当に書きたいコードに修正するQuick Fix rewriteを書いてみてはいかがでしょうか。
  • ライブラリを使用するために、どのような定型的なコードを書くのですか?
    -- コードを書いてくれるQuick Fixルールを作ればいいのではないでしょうか。

Sensei は、あなたが使用しているどのような静的解析ツールと一緒に動作するように設計されているので、もし静的解析から同じ違反が報告されていることがわかったら、Sensei のレシピでその条件を再現することができます。そして、間違いを発見するだけでなく、正しいコードを素早く書けるように訓練するために、Quick Fixを追加することができます。

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

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

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

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

Sensei プラグインは、ソース・コードの中から特定のコード・パターンを見つけ出し、一致するコードを修正するために書き換えルールを適用する簡単な方法を提供します。すべてはIntellij IDEの中で、しかもリアルタイムで行われます。

例えば、理由のない JUnit の `@Disabled` アノテーションにマッチするルールを作成することができます。Sensei は、IDE でコードをハイライトして問題を知らせてくれます。

さらに、`alt+enter`すると、`Todoコメントのパラメータを追加する`というオプションがあります。

これを選択すると、コードを修正して定型的な理由を追加することができます。

例えば、`@Disabled` は ` @Disabled("TODO: add a description here")` となります。

Sensei は、静的解析コードスキャナの機能とコード書き換えエンジンを組み合わせたものです。

IntelliJ Intention Actions

上記の説明に基づけば、(Sensei を使用していなかった場合)明らかな代替案は、IntelliJ Intention Actions 機能を使用することです。

Sensei はIntelliJ Intention Actionsとは異なります。Sensei の目的は、プロジェクト固有の、あるいは開発者個人のローカルなマッチャーやリライタを作成する方法を提供することです。

私たちは、マッチングルールとリライトルールの両方が簡単に書けて、実験できるようなGUIをまとめてみました。

個人的な向上にどのように役立つのか?

新しいライブラリを学ぶときは、その方法やフォーマットを筋肉に記憶させるのに時間がかかります。そのため、私は以下のようなパーソナルレシピを作成することにしました。

  • 公式ドキュメントやチュートリアルページへのリンク
  • 最も効果的な定型的なテンプレートを持っている
  • 不適切なコーディングの修正
  • ライブラリーの使用に役立つボイラープレートコードの追加

Sensei を使って一時的なレシピを作り、自分が選んだ現在の練習方法を促し、効果的な習慣を身につけることができます。そして、そのレシピは一時的なものであり、私が使いこなせなくなったら削除することができるからです。

私のチームの改善にどのように役立つのか?

それと同じように、私たちはチームが合意されたコーディングスタンダードを筋肉に記憶させる手助けをします。

プルリクエストのレビューで同じコメントを見つけたときに適用するレシピのクックブックを作成。クックブックはプロジェクトと一緒にバージョンコントロールに保存されるので、プロジェクトに参加している全員が利用できます。また、プロンプトが不要になったときには、クックブックをオフにすることもできます。

Sensei 、早期にフィードバックを行うことができます。

Sensei で構築しようとしたのは、改善に役立つフィードバックと是正措置のリマインダーを、コーディングプロセスのできるだけ早い段階で引き出す方法です。

を待つのではなく

  • スタティック・アナライザーの結果
  • コードレビューのコメント

その代わりに、強制したいカスタムスタンダードに対するフィードバックを、コーディングしながら確認することができます。

そして、標準に準拠したコードを書くために、注意喚起や実際の書き換えルールが用意されています。

Sensei はフレキシブルです。

そういう意味では、Sensei は、ちょっとしたミックスですね。

  • part Static Analyser
  • コーディング・チューター
  • リライトエンジン

Sensei は、"What isSensei? "と言う仕事を少しだけ難しくするほどの柔軟性があります。

Sensei プログラミングワークフローのギャップを埋める

Sensei は、プログラマーのワークフローに欠けている部分であり、あなたやあなたのチームが現在取り組んでいるコーディングスタイルやライブラリの使用における特定の要素を改善するのに役立つものにしようと考えています。

この柔軟性は、静的解析ツールや組み込みのIntelliJ Intentionsに比べて、Sensei を使いこなすのに少し時間がかかることを意味します。それでも、実験に時間を費やすことで、個人の開発プロセスにおける学習をスピードアップする新しい方法を得ることができます。

実験方法は?

Sensei を[Intellij Marketplace]からダウンロードしてインストールしたら。

Sensei を活用する最も簡単な方法は、自分のコーディングプロセスを見て検討することです。

  • どんなドキュメントを調べ続けているのか?
    -- そのドキュメントにリンクしたSensei のレシピを追加することができます。

  • -- そのお粗末なコーディングパターンを一時的にmatcherとしてコード化し、本当に書きたいコードに修正するQuick Fix rewriteを書いてみてはいかがでしょうか。
  • ライブラリを使用するために、どのような定型的なコードを書くのですか?
    -- コードを書いてくれるQuick Fixルールを作ればいいのではないでしょうか。

Sensei は、あなたが使用しているどのような静的解析ツールと一緒に動作するように設計されているので、もし静的解析から同じ違反が報告されていることがわかったら、Sensei のレシピでその条件を再現することができます。そして、間違いを発見するだけでなく、正しいコードを素早く書けるように訓練するために、Quick Fixを追加することができます。

リソースにアクセス

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

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

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

シェアする
著者
アラン・リチャードソン
2020年10月08日発行

アラン・リチャードソンは、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に執筆やトレーニングビデオを掲載している。

シェアする

Sensei プラグインは、ソース・コードの中から特定のコード・パターンを見つけ出し、一致するコードを修正するために書き換えルールを適用する簡単な方法を提供します。すべてはIntellij IDEの中で、しかもリアルタイムで行われます。

例えば、理由のない JUnit の `@Disabled` アノテーションにマッチするルールを作成することができます。Sensei は、IDE でコードをハイライトして問題を知らせてくれます。

さらに、`alt+enter`すると、`Todoコメントのパラメータを追加する`というオプションがあります。

これを選択すると、コードを修正して定型的な理由を追加することができます。

例えば、`@Disabled` は ` @Disabled("TODO: add a description here")` となります。

Sensei は、静的解析コードスキャナの機能とコード書き換えエンジンを組み合わせたものです。

IntelliJ Intention Actions

上記の説明に基づけば、(Sensei を使用していなかった場合)明らかな代替案は、IntelliJ Intention Actions 機能を使用することです。

Sensei はIntelliJ Intention Actionsとは異なります。Sensei の目的は、プロジェクト固有の、あるいは開発者個人のローカルなマッチャーやリライタを作成する方法を提供することです。

私たちは、マッチングルールとリライトルールの両方が簡単に書けて、実験できるようなGUIをまとめてみました。

個人的な向上にどのように役立つのか?

新しいライブラリを学ぶときは、その方法やフォーマットを筋肉に記憶させるのに時間がかかります。そのため、私は以下のようなパーソナルレシピを作成することにしました。

  • 公式ドキュメントやチュートリアルページへのリンク
  • 最も効果的な定型的なテンプレートを持っている
  • 不適切なコーディングの修正
  • ライブラリーの使用に役立つボイラープレートコードの追加

Sensei を使って一時的なレシピを作り、自分が選んだ現在の練習方法を促し、効果的な習慣を身につけることができます。そして、そのレシピは一時的なものであり、私が使いこなせなくなったら削除することができるからです。

私のチームの改善にどのように役立つのか?

それと同じように、私たちはチームが合意されたコーディングスタンダードを筋肉に記憶させる手助けをします。

プルリクエストのレビューで同じコメントを見つけたときに適用するレシピのクックブックを作成。クックブックはプロジェクトと一緒にバージョンコントロールに保存されるので、プロジェクトに参加している全員が利用できます。また、プロンプトが不要になったときには、クックブックをオフにすることもできます。

Sensei 、早期にフィードバックを行うことができます。

Sensei で構築しようとしたのは、改善に役立つフィードバックと是正措置のリマインダーを、コーディングプロセスのできるだけ早い段階で引き出す方法です。

を待つのではなく

  • スタティック・アナライザーの結果
  • コードレビューのコメント

その代わりに、強制したいカスタムスタンダードに対するフィードバックを、コーディングしながら確認することができます。

そして、標準に準拠したコードを書くために、注意喚起や実際の書き換えルールが用意されています。

Sensei はフレキシブルです。

そういう意味では、Sensei は、ちょっとしたミックスですね。

  • part Static Analyser
  • コーディング・チューター
  • リライトエンジン

Sensei は、"What isSensei? "と言う仕事を少しだけ難しくするほどの柔軟性があります。

Sensei プログラミングワークフローのギャップを埋める

Sensei は、プログラマーのワークフローに欠けている部分であり、あなたやあなたのチームが現在取り組んでいるコーディングスタイルやライブラリの使用における特定の要素を改善するのに役立つものにしようと考えています。

この柔軟性は、静的解析ツールや組み込みのIntelliJ Intentionsに比べて、Sensei を使いこなすのに少し時間がかかることを意味します。それでも、実験に時間を費やすことで、個人の開発プロセスにおける学習をスピードアップする新しい方法を得ることができます。

実験方法は?

Sensei を[Intellij Marketplace]からダウンロードしてインストールしたら。

Sensei を活用する最も簡単な方法は、自分のコーディングプロセスを見て検討することです。

  • どんなドキュメントを調べ続けているのか?
    -- そのドキュメントにリンクしたSensei のレシピを追加することができます。

  • -- そのお粗末なコーディングパターンを一時的にmatcherとしてコード化し、本当に書きたいコードに修正するQuick Fix rewriteを書いてみてはいかがでしょうか。
  • ライブラリを使用するために、どのような定型的なコードを書くのですか?
    -- コードを書いてくれるQuick Fixルールを作ればいいのではないでしょうか。

Sensei は、あなたが使用しているどのような静的解析ツールと一緒に動作するように設計されているので、もし静的解析から同じ違反が報告されていることがわかったら、Sensei のレシピでその条件を再現することができます。そして、間違いを発見するだけでなく、正しいコードを素早く書けるように訓練するために、Quick Fixを追加することができます。

目次

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、またはセキュリティに関わるすべての人が、安全でないコードに関連するリスクを減らすことができるよう、支援します。

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

始めるためのリソース

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

始めるためのリソース

その他の記事