Qodana について
Qodana は、チームでの作業に最適な JetBrains によるスマートコード品質プラットフォームです。Java、JavaScript、TypeScript、PHP、Kotlin、Python、Go、C# など 60 以上の言語で記述されたコードを分析できます。
Qodana を CI/CD パイプラインまたはローカルで実行する
Qodana は、Azure パイプライン、CircleCI、GitHub、TeamCity のネイティブソリューションを提供します。他の CI/CD システムでは、Docker イメージを使用できます。
Qodana をローカルで実行するには、Docker イメージ、Qodana CLI(英語) ツール、JetBrains IDE を使用できます。
デフォルトのインスペクションプロファイルを使用してコードを分析できます。設定は不要で、Qodana をすぐに実行できます。また、デフォルトのインスペクションプロファイルを設定したり、YAML および XML 形式で独自のインスペクションプロファイルを作成したりすることもできます。
ソフトウェアの品質を向上させる
Qodana レポートには、具体的な問題と、そのような問題を含むコードフラグメントの詳細な説明、およびそのような問題の解決方法に関する推奨事項が提供されます。これらの推奨事項を使用すると、製造中のバグを防ぎ、プロセスから学習することで、製品の品質を向上させることができます。詳細については、分析レポートセクションを参照してください。
コードレビューを最適化する
Qodana は、レビューとテストのフェーズに入る前に、コードが正常であることを確認します。バグ、脆弱性、ライセンスの競合を減らすなどの短期的な成果を達成し、新機能のリリースや変更の実装を容易にする保守可能なコードなどの長期的なゴールを達成します。
分析レポートは Qodana クラウドにアップロードされ、詳細を閲覧できます。また、JetBrains IDE と Visual Studio Code を使用して Qodana レポートを確認することもできます。
それに加えて、GitHub では、Qodana はプルリクエストを分析できます。
コーディング標準を強制する
Qodana を品質ゲートとして使用すると、ビルド失敗の原因となる問題の数を決定したり、問題をすぐに解決するように計画し、問題をベースラインに設定して延期したり、提案されたクイックフィックスを自動的に適用してチームの時間を節約したりできます。
他のチームメンバーとレポートを共有する
Qodana クラウド(英語)を使用すると、Qodana レポートを蓄積し、プロジェクトの進捗状況を一元的に追跡できます。このようなレポートは、チームのすべてのメンバーが利用できます。
料金モデルを活用する
Ultimate ライセンスおよび Ultimate Plus ライセンスの Qodana ライセンスコストはアクティブなコントリビューターの数によって決まり、これにより無制限の数のコード行を分析できます。
無料のコミュニティライセンスに基づいて Qodana を実行することもできます。ただし、この場合、Qodana の機能は制限されます。Qodana ライセンスを比較するには、価格モデルページにアクセスしてください。
次のステップ
お問い合わせ
新しい機能を提案したい場合、または予期しない動作が発生した場合は、問題トラッカー(英語)を使用するか、サポートチーム (qodana-support@jetbrains.com) にメールを送信してください。
Qodana コミュニティに積極的に参加するには、GitHub ディスカッションフォーラム(英語)に参加してください。
関連ページ:
Azure パイプライン
Qodana スキャンは、Qodana Azure パイプライン拡張内にパックされた Azure パイプラインタスクであり、Qodana を使用して既存のパイプライン内のコードを分析します。始める前に:このセクションのすべての構成例では、Qodana Cloud によって生成されたプロジェクトトークンを使用します。このトークンは、有料の Qodana リンターでは必須であり、コミュニティリンターで使用する場合はオプションです。Qodana Cloud UI でプロジェクトトークンを生成する方法に...
CircleCI
CircleCI はクラウドベースの CI/CD システムです。このセクションで説明するように、CircleCI Qodanaorb を使用して、Qodana を CircleCI パイプラインに組み込むことができます。始める前に:Qodana クラウドこのセクションのすべての構成例では、Qodana Cloud によって生成されたプロジェクトトークンを使用します。このトークンは、有料の Qodana リンターでは必須であり、コミュニティリンターで使用する場合はオプションです。Qodana Clou...
GitHub アクション
Qodana Scan GitHub アクションを使用すると、GitHub リポジトリで Qodana を実行できます。プロジェクトを準備する:Qodana クラウドこのセクションのすべての構成例では、Qodana Cloud によって生成されたプロジェクトトークンを使用します。このトークンは、有料の Qodana リンターでは必須であり、コミュニティリンターで使用する場合はオプションです。Qodana Cloud UI でプロジェクトトークンを生成する方法については、次のセクションを参照してく...
TeamCity
Qodana は、TeamCity でビルドランナーとして使用できます。使用を開始するには、次の前提条件を満たす必要があります。TeamCity をプロジェクトのビルドサーバーとして使用します。そうでない場合は、TeamCity のドキュメントでその方法を学習してください。プロジェクト言語は、完全にサポートされているテクノロジのリストに含まれています。Qodana の Docker イメージを使用して独自の TeamCity エージェントを実行する場合は、エージェントマシンに Docker がイ...
JetBrains IDE
JetBrains Toolbox アプリ経由でインストールされた JetBrains IDE 製品(IntelliJ IDEA、PhpStorm、WebStorm、GoLand、PyCharm、Rider、CLion など)を使用して、Qodana を実行できます。IDE に応じて、利用可能な機能は以下のとおりです。Qodana をローカルで実行し、レポートを Qodana クラウドにアップロードする (CLion では利用できません)、Qodana クラウドに接続してレポートをダウンロードする...
構造検索
構造検索は、JetBrains IDE に組み込まれた強力で柔軟なメカニズムです。検索テンプレートを使用することで、コードベースのセマンティクスを考慮しながら解析できます。独自の検索テンプレートを作成し、Qodana インスペクションとして利用することも可能です。構造検索の仕組み:例として、次の検索テンプレートを考えてみましょう。$Instance$.$MethodCall$($Parameter$) これにより、Java ステートメントを検出できます。のようなハードコードされたテキストを含むス...