Senseiとは?
Senseiプラグインを使用すると、ソースコード内の特定のコードパターンを簡単に検索し、書き換えルールを適用して該当箇所を修正できます。これらすべてをIntelliJ IDE内でリアルタイムに行うことが可能です。
例えば、理由が記述されていないJUnitの`@Disabled`アノテーションを検索するルールを作成すると、SenseiがIDE上で該当コードをハイライトして問題を通知します。

さらに、`alt+enter`を押すことで、`Add a todo comment parameter`(TODOコメントパラメータを追加)というオプションを選択できるようになります。

これを選択すると、定型文の理由がコードに追加されます。その後、内容を編集することも可能です。編集しなかった場合は、TODOパネルに表示されるようになります。
例:`@Disabled` が `@Disabled("TODO: add a description here")` に変更されます。

Senseiは、静的解析コードスキャナーの機能とコード書き換えエンジンを組み合わせたツールです。
IntelliJのインテンションアクション
上記の説明に基づくと、Senseiを使用しない場合の明白な代替手段は、IntelliJのインテンションアクション機能を利用することです。
SenseiがIntelliJのインテンションアクションと異なる点は、プロジェクト固有、あるいは個々の開発者レベルでマッチングや書き換えルールを作成できる点にあります。
私たちは、マッチングルールや書き換えルールの作成と試行を容易にするGUIの構築に努めてきました。

個人的なスキルアップにどう役立ちますか?
新しいライブラリを学習する際、メソッドやフォーマットを身体で覚えるまでには時間がかかります。そこで、以下のような個人的なレシピを作成することができます。
- 公式ドキュメントやチュートリアルページへのリンクを貼る
- 最も効果的な定型テンプレートを用意する
- 不適切なコーディング習慣を修正する
- ライブラリの使用を支援する定型コードを追加する
Senseiを使って一時的なレシピを作成すれば、採用したいコーディング手法を促し、効果的な習慣を身につける手助けとなります。レシピは一時的なものなので、習得した後は削除することができます。
チームの改善にどう役立ちますか?
同様の方法で、チーム全体で合意したコーディング標準を身体で覚える手助けができます。
プルリクエストのレビューで繰り返し指摘される内容をレシピ集(クックブック)として作成します。クックブックはプロジェクトのバージョン管理システムに保存されるため、チーム全員が利用可能です。また、不要になったら無効化することもできます。
Senseiは早期のフィードバックを可能にします
Senseiは、改善につながるフィードバックや修正のためのリマインダーを、コーディングプロセスの可能な限り早い段階で提供することを目指して開発されました。
待つのではなく
- 静的解析ツールの結果
- コードレビューのコメント
コーディング中に、独自の基準に基づいたフィードバックを直接確認できるようになります。
また、基準に準拠したコードを書くためのリマインダーや、自動書き換えルールも用意されています。
Senseiは柔軟です
Senseiは、以下の要素を組み合わせたツールであるため、その性質は少しユニークです。
- 静的解析ツール
- コーディングの家庭教師
- コード書き換えエンジン
Senseiは柔軟性が高いため、「Senseiとは何か?」を一言で説明するのが少し難しいほどです。
Senseiはプログラミングワークフローの隙間を埋めるツールです
Senseiは、チームで取り組んでいるコーディングスタイルやライブラリの使用方法など、特定の要素を改善するための「欠けていたピース」となることを目指しています。
この柔軟性ゆえに、静的解析ツールやIntelliJ標準のインテンション機能よりも習得に少し時間がかかるかもしれません。しかし、試行錯誤を重ねることで、自身のスキルアップを加速させる新しい方法を身につけることができます。
どのように試せばよいでしょうか?
Senseiを[IntelliJ Marketplace]からダウンロードしてインストールしたら、
Senseiを最大限に活用する最も簡単な方法は、日々のコーディングプロセスを見直し、以下の点について考えてみることです。
- 頻繁に調べているドキュメントはありますか?
-- そのドキュメントへのリンクを含むSenseiレシピを追加できます。 - 繰り返してしまう単純なミスはありますか?
-- その誤ったパターンをSenseiで検出し、修正案を適用する「クイックフィックス」を作成できます。 - ライブラリを使う際、決まりきったコード(ボイラープレート)を書いていませんか?
-- クイックフィックスを作成して、コードの記述を自動化できます。
Senseiは既存の静的解析ツールと併用できるように設計されています。静的解析で繰り返し指摘される違反があれば、その条件をSenseiのレシピとして再現してみましょう。さらにクイックフィックスを追加すれば、ミスを特定するだけでなく、正しいコードを素早く書くためのトレーニングにもなります。
AI主導の開発をリリース前にガバナンスする
AIを活用したリスク測定、コミット時のセキュアコーディングポリシーの強制、そしてSDLC全体を通じたセキュアなデリバリーの加速を実現します。
他のブログ記事を見る
セキュアコーディング、AIガバナンス、ソフトウェアリスク管理に関する専門的なコンテンツをご覧ください。
%252520%252520(3).avif)
Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

Security as culture: How Blue Prism cultivates world-class secure developers
Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed
AIを活用した開発をリリース前にセキュアに
開発者のリスクを可視化し、ポリシーを適用することで、ソフトウェア開発ライフサイクル全体における脆弱性を未然に防ぎます。



.avif)