Code Analysis
コード分析ダッシュボードは、コード品質の詳細な分析を行うためのツールであり、信頼性、セキュリティ、保守性などのメトリクスを追跡して、コード品質を向上させ、潜在的な問題を事前に防ぐことを目的としています。
コード分析ダッシュボード
サイドバーメニューから、ダッシュボード/Code Analysisを選択します:
主要機能
Code Analysis Dashboardから、以下のアクションを実行できます:
-
レポートを検索します。これは:
- プロジェクトでフィルタリング
- プロジェクトとプロジェクトのプロファイルでフィルタリング
- プロジェクトとプロファイルおよびプロファイルのアプリケーションでフィルタリング
- プロジェクトとプロジェクトのグループでフィルタリング
- プロジェクトとプロファイル、プロジェクトのグループでフィルタリング
-
現在のコード品質ダッシュボードのURLをコピーします。
-
ダッシュボードをリセットします:
リセットボタンをクリックすると、選択されたプロジェクト、プロファイル、アプリケーション、およびグループに関するすべてのデータがリセットされます。
- Sonarを設定します:
ユーザーがSonar設定画面に移動できるようにし、プロジェクトの詳細、プロファイルの詳細、アプリケーションの詳細を表示し、新しい設定を作成し、手動で同期を取得し、設定を編集および削除できるようにします。
- チャート/テーブルを有効または無効にすることで、表示されるレポートをカスタマイズします。
-
データビューとチャートビューの間で表示モードを切り替えます。
-
ダッシュボード上の特定のレポートチャートを展開します。
-
PR(プルリクエスト)モードと非PR(非プルリクエスト)モードの間で切り替えます:
With mode PR:ボードは、プルリクエストからのコミットのデータを示しており、これはプルリクエストワークフローの一部であり、通常はメインブランチにマージする前のコードレビューに使用されます。
With non PR:ボードは、プルリクエストなしのコミットのデータを示しており、これらはプルリクエストに関連付けられていない直接コミット(例:メインブランチまたは別のブランチに直接プッシュされたもの)です。
デフォルトでは、ダッシュボードはPRモードで表示されます。
主要コンポーネント
このダッシュボードは、コード品質を評価するために必要な主要なメトリクスを提供し、開発者がコードベースの信頼性、セキュリティ、および保守性を評価し、改善できるようにします。主要なコンポーネントには以下が含まれます:
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:は、時間の経過に伴うトップ貢献者を示し、貢献のトレンドの変化を追跡するのに役立ちます。
長期的な貢献を追跡して、持続的な関与を特定し、パフォーマンスを促進します。