Qodana
The code quality platform for teams
Qodana のご紹介: CI に対応したコード品質プラットフォーム
プロジェクトをコンパイルまたは実行した後にコードの問題が見つかることは、どんな開発者でも経験することです。 スタイルエラーなどの小さな問題であれば早急に修正する必要はないかもしれませんが、 ビジネスサービスに影響したり、開発ワークフローに後れが生じたりするような重大なバグが発生する場合は問題の対応を慎重に行わなくてはなりません。 特に、台所に立つシェフが多すぎるような開発チームであれば尚更です。 手遅れになる前に、プロジェクト全体の品質を確保する必要があります。
これを簡単に実現できる方法を発表いたします。 Qodana をご紹介します! これは、品質管理プロセスを合理化し、プロジェクトの完全性を確保し、高度なコード管理を行うのに役立つコード品質プラットフォームです。
プロジェクトに潜むコーディングの問題を見逃したり、開発の後半で炎上したりしないように、ユーザーの CI/CD パイプラインにクオリティゲートをセットアップします。 Qodana なら、プロジェクトだけでなく、品質目標とその目標に対する現在の進捗といったプロジェクト品質のあらゆる側面を常にリアルタイムで簡単に確認できます。
Qodana に委任できるタスク
Qodana には、ローカルまたは任意の CI でプロジェクト解析を行うためのコマンドラインツール(リンター)が含まれます。 このため、開発者はプロジェクトにコード関連の問題がないかを簡単に確認できます。 さらに、コード品質をチームの開発プロセスに組み込むことも可能です。 Qodana がどのようにチームメンバーを支援できるのかを確認してみましょう。
- コードの問題を早期にキャッチ。コードが実際に本番環境にプッシュされる前に問題を解決できます。 後で見つかった問題を解決するのはコストが高くつきます。
- 異常なコードを検出。プロジェクトには一般的でない方法で記述されたコード箇所は、プロジェクトのセキュリティリスクになる可能性があります。
- コードレビューを自動化。未使用のインポート、複製、スペルや書式の問題など、複数のチェックを自動化し、フィードバックループにかかる時間を短縮できます。
- デッドコードを除去。これにより、無関係な処理の実行をなくし、プログラムの実行時間を短縮できます。
- コンプライアンスリスクを低減。Qodana のライセンス監査でプロジェクトが使用している依存関係を追跡できます。 追跡することで、ライセンス要件の準拠を維持しやすくなります。
- コード構造を改善。コードを読みやすく、メンテナンス性の高いものにします。 Qodana なら、インデント、名前付けスキーム、行の長さ制限など、コードの一貫性を確保できます。
- コーディングのベストプラクティスを導入。プロジェクトやビジネスの要件に基づき、コードを独自のコードポリシー(特定のプログラミングスタイルガイドなど)に準拠させることができます。
主な機能
リアルタイムに示されるプロジェクトの概要
Qodana は解析の実行結果をサンバースト図として表示します。図中のタブをクリックすると、簡単にドリルダウンできます。 タブをクリックするたびに、チャートの下の結果がリアルタイムに更新されます。 ドリルダウンする過程で、サンバースト図の横にあるメニューでフィルターを設定して結果を微調整することもできます。 図内のタブの順序を好みに合わせて変更し、特定のフィルター構成として保存して再利用できます。
すぐに対応可能なコードの問題
サンバースト図の下にある Problems(問題)タブには、検出されたすべての問題が重要度、ファイル名、パス、カテゴリ、およびタイプ順で表示されます。 特定の問題をより詳しく調べるには、その問題をクリックしてください。 すると、コード箇所が展開し、コンテキストの一部が表示されます。
ここからは、問題を技術的負債に移動する(Move to Technical Debt(技術的負債に移動)ボタン)や、IDE でファイルを開くことができます。
More actions(その他のアクション)ドロップダウンメニューでは、特定のパス、ファイル、またはディレクトリ全体を今後の解析から除外する、特定のタイプやカテゴリを非表示にする、コードへの指摘が誤っている(誤検知)と思われるケースを報告するなどのアクションを実行できます。
Problems(問題)タブから Files(ファイル)タブに切り替えると、同じ問題をファイル/フォルダー構造で移動できるようになります。
各種 JetBrains IDE 製品との統合
IntelliJ IDEA Ultimate と PhpStorm には Qodana がバンドルされているため、Qodana がコード内の問題を通知したタイミングでその問題を IDE で直接開き、クイックフィックスを実行することができます。 この作業を行うには、問題を選択し、Open file in(次でファイルを開く)アクションをクリックします。 Qodana と他の JetBrains IDE を統合するには、プラグインをインストールしてください。
ライセンス監査
コードに不正または不適切なライセンスが使用されている場合、法的およびコンプライアンス上の莫大な違約金が科されてしまいます。 Qodana なら、コードリポジトリの依存関係をスキャンしてライセンスを検出することで、潜在的な課題がないかどうかを確認できます。
JetBrains はライセンス監査をプロジェクトに採り入れて CI/CD パイプラインに組み込む作業を簡単にしました。 新しいライセンス監査機能は、Java、Kotlin、PHP、Python、JavaScript などのすべてのリンターに対応しています。
Qodana の機能に関するその他の情報については、弊社ウェブサイトをご覧ください。
GitHub とその他の CI/CD ツールとの統合
プラットフォームを GitHub と統合し、GitHub を使用してコードの課題を検出、解析、および解決できます。 Qodana Scan GitHub action をインストールすれば、GitHub ワークフロー内で Java、Kotlin、PHP、Python、JavaScript、および TypeScript を使用するプロジェクトに対する品質管理チェックを実行できます。 基本的なユースケースの簡単な要約については、ドキュメントをご覧ください。
GitHub だけではありません! Qodana は、ユーザーが使用しているあらゆる CI プラットフォームに追加できます。 こちらのブログ記事で説明されているとおり、プロジェクトの品質マイルストーンは、どの CI ツールでも非常に似通ったプロセスで確立することができます。 Qodana がリリースされて以来、GitHub、GitLab CI/CD、TeamCity、Jenkins、およびAzure Pipelines をサポートしてきました。
Qodana の実際の動作を確認
こちらの 7 分間の動画をご覧になるか、Qodana が提供する機能やその開発プロセスの円滑化方法に関するその他のインサイトをご覧ください。
より実践的なアプローチをご希望の方には、実験用のサンドボックスを提供しています。 ゲストとしてログインし、事前構成済みのプロジェクトを 1 つ選択してください。 この視覚的なデモは、上記の動画の 2 分 56 秒で紹介されています。
Qodana とそれが CI パイプラインにもたらすメリットについては、以下をご覧ください。
Qodana に関するご質問やご提案がございましたら、こちらにコメントいただくか、Twitter またはメール(qodana-support@jetbrains.com)でご連絡ください。
Qodana チーム一同
オリジナルブログ投稿(英語)の作者: