メインコンテンツまでスキップ

Code Analysis

コード分析ダッシュボードは、コード品質の詳細な分析を行うためのツールであり、信頼性、セキュリティ、保守性などのメトリクスを追跡して、コード品質を向上させ、潜在的な問題を事前に防ぐことを目的としています。

コード分析ダッシュボード

サイドバーメニューから、ダッシュボード/Code Analysisを選択します:

主要機能

Code Analysis Dashboardから、以下のアクションを実行できます:

  1. レポートを検索します。これは:

    • プロジェクトでフィルタリング
    • プロジェクトとプロファイルでフィルタリング
    • プロジェクトとプロファイルおよびプロファイルのアプリケーションでフィルタリング
    • プロジェクトとプロジェクトのグループでフィルタリング
    • プロジェクトとプロファイル、プロジェクトのグループでフィルタリング
  2. 現在のコード品質ダッシュボードのURLをコピーします。

  3. ダッシュボードをリセットします:

リセットボタンをクリックすると、選択されたプロジェクト、プロファイル、アプリケーション、および選択されたグループに関するすべてのデータがリセットされます。

  1. Sonarを設定します:

ユーザーがSonar設定画面に移動できるようにし、プロジェクトの詳細、プロファイルの詳細、アプリケーションの詳細を表示し、新しい設定を作成し、手動で同期を取得し、設定を編集し、設定を削除できるようにします。

  1. チャート/テーブルを有効または無効にすることで、表示されるレポートをカスタマイズします。

  1. データビューとチャートビューの間で表示モードを切り替えます。

  2. ダッシュボード上の特定のレポートチャートを展開します。

  3. PR(プルリクエスト)モードと非PR(非プルリクエスト)モードの間で切り替えます: With mode PR: ボードはプルリクエストからのコミットのデータを示しており、これはプルリクエストワークフローの一部であり、通常はメインブランチにマージする前のコードレビューに使用されます。

With non PR: ボードはプルリクエストなしのコミットのデータを示しており、これらは直接コミット(例:メインブランチまたは他のブランチに直接プッシュされたもの)で、プルリクエストに関連付けられていません。

デフォルトでは、ダッシュボードはPRモードで表示されます。

Key components

このダッシュボードは、コード品質を評価するために必要な主要な指標を提供し、開発者がコードベースの信頼性、セキュリティ、および保守性を評価し改善できるようにします。主要なコンポーネントには以下が含まれます:

Line of Code (LOC): コードベースの総行数のトレンドを視覚化し、コードの成長を監視するのに役立ちます。

LOCの増加は新機能や修正の追加を反映し、プロジェクトの範囲や複雑さの変化を理解するのに役立ちます。

  • Y軸(行数):プロジェクト内の総行数を表します。
  • X軸(時間):コード行の測定が行われた日付を示すタイムラインを表示します。

Code Churn: 時間の経過に伴う追加または削除された行数を表示し、コードの変更頻度を示して、コードの安定性と修正頻度を評価します。

高い変更率は、アクティブな機能更新やリファクタリングの期間を示す可能性があります。このグラフを監視することで、コードの安定性を維持する努力に役立ちます。

  • Y軸(変更):追加、削除、修正を含むコード変更の数を表します。
  • X軸(日時):コード変更が発生した日付を示します。

Reliability: コードベースで検出されたバグの数を示し、コードの信頼性を評価します。

この指標はコードの信頼性を評価し、バグの数が多いほど安定性が低いことを示します。品質改善が必要な領域を特定するのに役立ちます。 識別されたバグの総数を表します。バグの数が減少する傾向は、コード品質の向上を示しています。

Test Coverage: テストでカバーされているコードの割合を表します。

テストカバレッジは、コードの安定性を評価するために重要です。カバレッジが高いほど、より多くのコードがテストされ、予期しないバグの可能性が減少します。

Duplicated Blocks: コードベース内の重複したコードブロックの数を示します。

コードの重複を減らすことで、可読性と保守性が向上します。

Security: 潜在的なセキュリティ脆弱性の数を表示し、コードのセキュリティを評価します。

この指標はセキュリティリスクを評価し、脆弱性が少ないほどセキュリティが強化されていることを示します。脆弱性の数が多いほど、データ侵害やシステムの妥協のリスクが高まります。

Security Hotspots:セキュリティレビューが必要なコード内の領域の数を示します。

レビューと緩和のために、コード内の潜在的に脆弱な領域を特定するのに役立ちます。

Maintainability - Debt:コードベースの将来の保守に必要な推定時間(日数)を示します。

技術的負債は長期的な保守負担を反映し、値が高いほど改善が必要な領域が多いことを示します。

Maintainability - Code Smells: コードの保守性を妨げるコードスメルの総数を示します。

コードスメルを減らすことで、コード品質が向上し、保守が容易になります。

Duplicated Lines: 重複行の割合を表示し、リファクタリングが必要な領域を特定します。

重複の割合が低いほど、保守が容易になり、コードの効率が向上します。

Top Contributor of Week:コードコミットに基づいて、週ごとのトップ貢献者を示します。

重複の割合が低いほど、保守が容易になり、コードの効率が向上します。

Top Reviewer:活動に基づいて、最も活発なレビュアーを順番にリストします。 コードレビューは、コードの品質を維持し改善するために重要です。頻繁にレビューを行う人を強調することで、品質管理への貢献を促します。

Top Contributor Over Time: 時間の経過に伴う主要な貢献者を示し、貢献の傾向の変化を追跡するのに役立ちます。

長期的な貢献を追跡し、持続的な関与を特定し、パフォーマンスを促進します。