# メトリックとスコアのリファレンス

リポジトリのコードの品質を評価するために GitHub で使用される用語について説明します。

この記事では、 Code Qualityで使用されるメトリックとスコアの定義について説明します。

リポジトリのルールベースの結果は、\[ **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-shield" aria-label="shield" role="img"><path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></svg> Security and quality** ] タブの \[ **標準の結果** ] タブの \[<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-code-review" aria-label="code review" role="img"><path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 13H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25v-8.5C0 1.784.784 1 1.75 1ZM1.5 2.75v8.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-8.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm5.28 1.72a.75.75 0 0 1 0 1.06L5.31 7l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.75.75 0 0 1 1.06 0Zm2.44 0a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L10.69 7 9.22 5.53a.75.75 0 0 1 0-1.06Z"></path></svg> コードの品質] で確認できます。

## メトリック定義

次の表に、リポジトリに対して報告される各メトリックの定義を示します。

| Metric          | Definition                                                                                                   | 結果の例                                       |
| --------------- | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------ |
| **Reliability** | コードが目的の関数を正しく、予測可能かつ一貫して実行するかどうかを評価します。 信頼性の高いコードはバグから解放され、エラーを安全に処理し、通常およびエッジケースの条件下で期待どおりに動作します。           | パフォーマンス、コンカレンシー、エラー処理、正確性に関する問題            |
| **保守容易性**       | 時間の経過に伴うコードの理解、変更、および拡張がいかに簡単であるかを評価します。 保守可能なコードは、ベスト プラクティスに従い、不要な複雑さを回避し、将来の変更とコラボレーションを容易にするために編成されています。 | 未使用/デッド コード、読みやすさ、複雑さ、競合する名前付け、懸念事項の分離が不十分 |

## 重大度レベル

重大度レベルは、コード品質検出の潜在的な影響または緊急性を示すために使用されます。 ユーザーが修復作業に優先順位を付け、利害関係者にリスクを伝えるのに役立ちます。 重大度は、 CodeQL および業界標準の規則に従って、問題を検出したルールによって決定されます。

| Severity | Definition                                                    |
| -------- | ------------------------------------------------------------- |
| **エラー**  | バグ、障害、または主要な保守容易性リスクを引き起こす可能性が高い重大度の問題を示します。                  |
| **警告**   | コードの品質や信頼性に影響を与える可能性があるが、すぐには重要ではない中程度の重大度の問題を示します。           |
| **メモ**   | 重大度の低い問題、軽微な改善、または推奨事項を示します。 これらの結果は、継続的なコードの正常性と保守容易性に役立ちます。 |

## スコアの定義

これらのスコアは、完全な既定のブランチのスキャンによって検出されたルールベースの結果の重大度に基づいて、リポジトリの全体的な信頼性と保守容易性 CodeQL 要約するために使用されます。

| スコア                   | Definition                                      | 条件 (結果に基づく)     |
| --------------------- | ----------------------------------------------- | --------------- |
| **Excellent (非常に良い)** | コードベースは、信頼性と保守容易性に関するベスト プラクティスを示しています。         | コード品質の結果が検出されない |
| **Good (適切)**         | コードベースには軽微な問題があるか、改善が推奨されます。                    | "注"レベルの結果が1件以上  |
| **Fair (普通)**         | コードベースには、品質に影響を与える可能性があるが重要ではない中程度の重大度の問題があります。 | ≥1 "警告" レベルの指摘  |
| **貧しい**               | コードベースには、バグや主要な保守容易性リスクなど、重大度の高い問題があります。        | ≥1 "エラー" レベルの検出 |

## コードカバレッジ

Code Quality がコード カバレッジをどのように測定してレポートするかの詳細については、[コードカバレッジ リファレンス](/ja/enterprise-cloud@latest/code-security/reference/code-quality/code-coverage)を参照してください。

## 詳細については、次を参照してください。

* [GitHub のコード品質](/ja/enterprise-cloud@latest/code-security/concepts/code-quality/code-quality)
* [リポジトリのコード品質結果の解釈](/ja/enterprise-cloud@latest/code-security/how-tos/maintain-quality-code/interpret-results)