優れたコード解析を提供する Qodana の機能

Qodana には課題がエスカレーションされる前に見つけ出して修正するための基本機能がすべて備わっています。IDE から CI までのすべての過程に静的解析を実行することで、開発者はコードの臭い、重複、複雑なコード、脆弱性、ライセンスの問題などを検出して修正することができるため、自信を持ってソフトウェアを出荷できます。

IDE の統合

静的コード解析を CI/CD ワークフローに統合する場合、必ず IDE で実際の問題を解決することになります。JetBrains IDE と VS Code 拡張機能の統合は初期状態で備わっているため、Qodana からサーバーサイドのスキャン内で検出された課題に関するターゲットされたフィードバックが送信されると、集中を妨げる要因やコンテキストスイッチングを生じずに、より素早く修正することができます。Qodana が CI サイドですべての解析を行うため、開発者はコーディングゾーンに留まり、課題を修正することができます。

logo

IDE に即座に送信されるコード解析フィードバック

ブランチに変更をコミットすると、Qodana は CI サイドでバックグラウンドスキャンを実行し、IDE に自動的に課題レポートを送信します。開発者は、バグ、冗長コード、コードの臭い、互換していない依存関係、およびセキュリティ脆弱性に関する自動フィードバックを受け取ります。IDE をまったく離れることなくプロジェクト全体の健全性を確認できるため、フラグの付いた問題の修正にすぐに取り掛かることが可能です。

IDE 内で簡単に CI 解析をセットアップ JetBrains IDE 限定提供

JetBrains IDE に事前にインストールされているウィザードを使用して任意の CI サーバーの構成ファイルを生成できます。Jenkins、GitHub Actions、TeamCity、GitLab CI/CD などの最も一般的な CI サーバーの場合はヘルパーを使用できます。

問題箇所に直接アクセス

Qodana レポートには GitHub Actions や Qodana Cloud 内でもアクセスでき、Open in IDE(IDE で開く)ボタンを使うと、問題が発生したコード内の場所に素早くアクセスできます。

詳細なインサイト

問題に関する詳しい説明により、問題を特定して理解し、問題から学ぶことができます。

よくあるご質問

ローカル実行の場合、静的解析の結果をプレビューできます。静的解析を使い始めるのは簡単です。Qodana を初めて使用する場合は、直接 IDE から最初のスキャンを実行し、ローカルチェックの結果をすぐに確認できます。
もちろんです!Qodana は Visual Studio Code と統合できるようになっており、さらに Visual Studio のサポートは今年、他のサポートはその後に導入される予定です。
Qodana を使い始めるには、JetBrains Account が必要です。これは数回のクリック操作で作成できます。または、CLI を使用して Qodana をローカルで実行したり、Qodana をお使いの CI のビルドステップとしてセットアップしたりすることも可能です。

CI/CD インテグレーション

コードによってビルドが破損したり、バグ、脆弱な依存関係、または互換性のないライセンスが導入されたりする場合、他の変更がさらに追加される前に問題をすぐに検出して修正する必要があります。そうでない場合、問題がメインブランチに到達してデプロイされてしまいます。CI パイプラインに統合される Qodana は、ユーザーが設定する条件に従って生産ラインを停止したり、サーバーサイドで検出された問題について警告を発したりすることができるため、適時に問題を修正することができます。

明確な合格 / 不合格のクオリティゲート

自動クオリティゲートは、事前に定義されたベンチマークに対してコードを解析し、即座にフィードバックを提供します。コードが特定の重大度の問題数を超える場合やコードカバレッジが十分でない場合にはパイプラインを失敗させます。

CI に依存しない

Jenkins、GitHub Actions、TeamCity、BitBucket、GitLab など、使用している CI/CD ツールに関係なく、Docker をサポートしていれば Qodana に統合することができます。

IDE に送信されるサーバーサイドレポート

変更をコミットすると、Qodana は CI サイドでバックグランドスキャンを実行し、特定された問題が記載されたレポートを自動的に IDE に送信します。IDE を離れることなくプロジェクトの健全性を確認できるため、すぐにフラグの付いた問題の修正に取り掛かることができます。

構成ウィザード JetBrains IDE 限定提供

JetBrains IDE に事前にインストールされているウィザードを使用して任意の CI サーバーの構成ファイルを生成できます。たとえば、GitHub Actions の Add(追加)ボタンをクリックするだけで、ワークフロー構成ファイルがプロジェクトに作成されます。また、TeamCity、GitLab CI/CD、Jenkins などのその他の CI サーバー用のヘルパーもあります。

クイックフィックス

Qodana は問題を自動的に解決できるクイックフィックスを適用し、適用された変更を含む新しいプルリクエストを作成できます。すると、ユーザーはコミットする前にこれらの変更をレビューできるようになります。

Docker イメージによるクイックスタート

Qodana リンターがすぐに使用できる Docker イメージに収録されているため、Docker をサポートする任意の CI ツールでそれをプルして実行できます。

60 日間の体験版をチーム全体でご利用いただけます

ライセンス監査

法的な問題に発展する前に不適切なソフトウェアライセンスを検出します。Qodana にはソフトウェア構成解析の一環として、プロジェクトのライセンスが依存関係のライセンスに準拠していることを徹底的にチェックするライセンス監査が備わっています。完全なライセンスコンプライアンスを確保することで、予期しない事態や法律の落とし穴を回避します。

継続的スキャン

Qodana はプロジェクトの依存関係をスキャンし、互換性のないあらゆるライセンスにフラグを立てます。新しいライブラリがプロジェクトに追加されるたび、または既存のライブラリによって不意にライセンスが変更されるたびに、Qodana から通知が届きます。ライセンス監査レポートは、Qodana インターフェースと IDE 内の個別のタブに課題として含められます。

ライセンス監査を CI/CD パイプラインに統合

Qodana を使って、すべてのコード変更のライセンスコンプライアンスを徹底してスキャンすることができます。

監査基準の微調整

または、プロジェクト内の特定の依存関係のライセンスを無視したり、カスタム依存関係を作成したり、特定のライセンスを禁止または許可することによってライセンスマトリックスをオーバーライドしたりすることができます。

コンプライアンスレポートの合理化

Qodana は、プロジェクトのライセンスコンプライアンスを関係者、監査担当者、および法務チームに示すための包括的なレポートを生成します。

コードカバレッジ

Qodana では、すべてのチームプロジェクトのコードカバレッジを監視して、重大なパスが十分にテストされることを保証できます。既存のコードと新しいコードの両方に対して希望するカバレッジレベルのしきい値を設定し、CI/CD パイプラインでの自動チェックによって、信頼できるコードベースを維持します。

IDE にネイティブにインポートされるカバレッジレポート

CI 側でコードカバレッジチェックを実行すると、Qodana がテスト中に実行されなかった行、メソッド、またはクラスを可視化します。各種 JetBrains IDE とのネイティブ統合と VS Code のサポートにより、開発者はテストを再実行しなくても、IDE 内でどのコード箇所がカバーされていないかを直接確認できます。

コードカバレッジレベルに基づいてパイプラインを失敗

クオリティゲートの基準として、コードカバレッジの希望する割合を定義できます。完全なコードまたは新しいコードのみが指定したコードカバレッジのベンチマーク(> 50% など)を満たさない場合、Qodana はそのビルドを失敗にします。

最も一般的なコードカバレッジツールを統合

Qodana は初期状態で IntelliJ IDEA Code Coverage Agent、JaCoCo、Jest、PhpUnit、coverlet.msbuild、Coverage.py、および go test と統合します。

コードカバレッジの概要とプロジェクト間での比較

Qodana はすべてのプロジェクトを通して、コードカバレッジの進捗を表示できます。

クイックフィックス

Qodana は検出した特定の問題に対する修正の提案と合わせて、自動的にプルリクエストを生成します。自動的に解決できる問題にクイックフィックスを適用すると、Qodana は変更をコミットする前にレビューできるように、新しいプルリクエストを作成します。

柔軟な戦略

Qodana のリンターは CLEANUP と APPLY 戦略の両方をサポートしているため、柔軟な方法で修正を適用できます。

CLEANUP

プロジェクトのロジックを変更することなく安全かつ小さな修正を自動的に実装するため、リスクのないコードのクリーンアップに最適です。

APPLY

特定されたすべての問題を解決しようとしますが、慎重なレビューが必要となる重大な変更につながる可能性があります。この戦略は、広範なコードレビューを行う準備が整っている場合に最適です。

ダッシュボード

Qodana には、包括的なコードインサイトを提供し、対応が即必要なエリアを表示する豊富な可視化機能が備わっています。

代表的なサンバーストダイアグラム

サンバーストダイアグラムでは、プロジェクトの健全性の概要を確認できます。直感的なフィルターを使用することで、種類、重大度、および場所ごとに問題を並べ替えられるため、最も差し迫った問題に優先順位を付けて素早く解決することができます。

履歴の概要

スキャン結果の履歴を確認し、コード品質の改善の進み具合を確認できます。

カスタマイズ / 拡張機能

コード品質のニーズはチームごとに異なるため、すべての要件に 1 つのツールで対応することはできません。チーム特有のワークフローに対応できるよう、Qodana では初期状態で備わっている統合と事前定義済みのインスペクションプロファイルにより、豊富なカスタマイズ機能を使用できるようになっています。

FlexInspect – 独自のインスペクションを作成

Qodana を拡張するための最も単純な方法は FlexInspect を使用することです。これは、プロジェクトに適用するルールに対し、カスタムコードインスペクションを作成できるツールです。プロジェクトに新しい .kts ファイルを追加するだけで、個別の構成、ビルドまたは追加ステップが不要になるため、プロセスの複雑さを効果的に解消できます。

詳細情報

作成済みのプラグインの使用と独自のプラグインの作成

リポジトリで提供されているプラグインを使用することも、独自のプラグインを作成することも可能です。プラグインを作成する場合は、プラグイン開発ガイドを参考にしてください。

構造検索パターンの使用

構造検索は各種 JetBrains IDE に組み込まれている強力で柔軟なメカニズムです。セマンティクスを考慮しながらコードベースを検査できる検索テンプレートを使用しています。独自の検索テンプレートを作成し、Qodana インスペクションとして使用することができます。

詳細情報

ベースライン

あまり重要でない問題をベースラインに移動するか、すべての検出された問題を移動して、それらの通知を受け取らないようにします。こうすることで、チームが最も重要な問題に専念できるようにすることができます。

コード状態の比較

コードベース内にある問題の経時的な変化を簡単に特定し、新規、解決済み、および未変更の問題を確認します。

コード品質標準の段階的な適用

最初の実行では、Qodana はコードベース内のさまざまな問題を特定します。すぐにすべての問題に対応して他のタスクを中断するのではなく、これらの問題をベースラインに追加できます。圧倒されることなく、新しいコードのみにクリーンコード手法を適用することに専念できます。

60 日間の体験版をチーム全体でご利用いただけます