
# コード品質概要

<table data-view="cards"><thead><tr><th>セクション</th><th>見つかる内容</th><th data-hidden data-card-target data-type="content-ref">対象</th></tr></thead><tbody><tr><td><strong>PRチェックを設定</strong></td><td>品質チェック対象 <strong>新しいコード</strong>: すべてのプルリクエストで変更された行をスキャンします。</td><td><a href="https://help.aikidogov.us/docs/docs-ja/code-quality/code-quality-setup">PRでのコード品質</a></td></tr><tr><td><strong>リポジトリスキャン</strong></td><td>品質チェック対象 <strong>既存のコード</strong>: リポジトリ全体のスコア、検出事項、ホットスポット。</td><td><a href="https://help.aikidogov.us/docs/docs-ja/code-quality/repository-scans">コード品質のリポジトリスキャン</a></td></tr><tr><td><strong>コードカバレッジ</strong></td><td>CIからカバレッジレポートをアップロードし、リポジトリおよびファイルごとのカバレッジを追跡し、しきい値未満のプルリクエストを失敗にします。</td><td><a href="https://help.aikidogov.us/docs/docs-ja/code-quality/code-coverage">コードカバレッジ</a></td></tr><tr><td><strong>カスタムコードルールを追加する</strong></td><td>デフォルトを超えて、チーム固有のチェックを定義します。</td><td><a href="https://help.aikidogov.us/docs/docs-ja/code-quality/add-custom-code-rules">カスタムコードルールを追加する</a></td></tr><tr><td><strong>追加のコードコンテキストを追加する</strong></td><td>Aikidoに、あなたのコードベースと規約の背景を伝えます。</td><td><a href="https://help.aikidogov.us/docs/docs-ja/code-quality/add-extra-code-context">追加のコードコンテキストを追加する</a></td></tr><tr><td><strong>特定の行を無視</strong></td><td>確認して承認した行の検出事項を抑制します。</td><td><a href="https://help.aikidogov.us/docs/docs-ja/code-quality/ignoring-specific-lines">特定の行を無視する</a></td></tr></tbody></table>

## Code Qualityとは？

Code Qualityは、全体にわたって高い基準を維持するのに役立ちます **新しいコード** あなたがリリースするものと **既存のコード** すでにリポジトリにあるもの。

これは、品質面で対応するものです [SAST](https://help.aikidogov.us/docs/docs-ja/code-scanning/scanning-practices/sast-by-aikido-supported-languages-and-security-focus): 有効化すると、追加する新しいコードをチェックします。これは [詳細レビュー](https://help.aikidogov.us/docs/docs-ja/deep-review/how-deep-review-works)。Deep Reviewは **セキュリティと品質の両方**、変更された行を超えた文脈付きでカバーします。

Aikidoは、チームで有効化されたルールに対してAI搭載のチェックを適用します。検出事項には平易な説明と修正ガイダンスが含まれるため、開発者はセキュリティの専門家でなくても対応できます。

## 仕組み

Code Qualityは次のモードに分かれます：

<table><thead><tr><th width="188.30859375">モード</th><th>対象範囲</th></tr></thead><tbody><tr><td><a href="https://help.aikidogov.us/docs/docs-ja/code-quality/code-quality-setup"><strong>PRチェック</strong></a></td><td><strong>新しいコード：</strong> プルリクエストで追加または変更された行</td></tr><tr><td><a href="https://help.aikidogov.us/docs/docs-ja/code-quality/repository-scans"><strong>リポジトリスキャン</strong></a></td><td><strong>既存のコード：</strong> 現時点のコードベース全体</td></tr><tr><td><a href="https://help.aikidogov.us/docs/docs-ja/code-quality/code-coverage"><strong>コードカバレッジ</strong></a></td><td><strong>テストカバレッジ：</strong> CIからアップロードされたレポート。任意で <a href="https://help.aikidogov.us/docs/docs-ja/code-quality/code-coverage/pr-gating-on-code-coverage">PRゲーティング</a> 最小割合に対して</td></tr></tbody></table>

どちらか一方の品質モードだけでも、両方を組み合わせても使えます。PRチェックは品質の悪化を防ぎ、リポジトリスキャンは既にあるものと、どこをクリーンアップすべきかを示します。追加すると [コードカバレッジ](https://help.aikidogov.us/docs/docs-ja/code-quality/code-coverage) そのコードのうちテストが実際にどれだけ実行されているかを確認でき、 [プルリクエストを失敗にします](https://help.aikidogov.us/docs/docs-ja/code-quality/code-coverage/pr-gating-on-code-coverage) カバレッジのしきい値に満たないもの。

### 新しいコードのPRチェック

すべてのプルリクエストで、Aikidoは変更した行のみをスキャンし、インラインコメントを残します（または、そのように設定していればゲートを失敗させます）。これにより、マージ前に回帰を検出し、新しい貢献をあなたの基準に沿わせます。

参照 [PRチェックを設定](https://help.aikidogov.us/docs/docs-ja/code-quality/code-quality-setup) セットアップ全体の手順について。

### 既存コードのリポジトリスキャン

コードベース全体のスキャンでは、各リポジトリを4つの品質カテゴリで採点し、すでにマージされたコード内の未解決の検出事項をすべて一覧表示し、変更頻度が高く品質が低いホットスポットを強調表示します。

参照 [リポジトリスキャン](https://help.aikidogov.us/docs/docs-ja/code-quality/repository-scans) セットアップ、料金、結果の読み方について。

## ユースケース

* **レビュー時に新しいコードを保護：** 変更された行に対するPRチェック。任意でゲート失敗あり
* **既存コードの健全性を把握：** リポジトリごとのコードベース全体にわたるカテゴリスコア
* **レガシーのクリーンアップを優先：** 頻繁に変更されるファイルに最も負債が集中している箇所を散布図で表示
* **チーム基準を徹底：** あなたの規約に合わせたカスタムルールとコードコンテキスト
* **両方のレイヤーをカバー：** すべてのマージでPRチェック。年額サブスクリプション期間中は増分再スキャン付きのリポジトリスキャン
* **テストカバレッジを追跡：** CIからカバレッジをアップロードし、リポジトリ・ファイル・行ごとに確認でき、しきい値未満のプルリクエストを失敗にします

## 対応言語

Code Qualityは、幅広く拡大中の言語とフレームワークをサポートしています。完全な一覧は下をクリックしてください。

{% hint style="info" %}
一覧にあなたの言語がありませんか？Intercomでお問い合わせください。追加を検討できます。
{% endhint %}

<details>

<summary>対応言語</summary>

* ABAP (SAP)
* Angular
* Ansible
* Apex (Salesforce)
* C/C++
* C#
* Clojure
* COBOL
* ColdFusion
* Dart
* Delphi
* Docker
* Elixir
* Erlang
* go
* Groovy
* Haskell
* Java
* JS
* JSON
* Julia
* Kotlin
* Kubernetes / Helm charts
* Lua
* MySQL
* OCaml
* OpenEdge
* Pascal
* Perl
* PHP
* PL/SQL
* PowerShell
* PY
* R
* React
* Ruby
* Rust
* Scala
* シェル
* Solidity
* SQL
* Svelte
* Swift/Objective-C
* Terraform
* TS
* Visual Basic
* Vue
* YAML
* Zig

</details>

経由で検出事項を無視するには `.aikido` リポジトリ内の設定ファイルについては、こちらを参照： [Aikido Files のコードによる無視](https://help.aikidogov.us/docs/docs-ja/code-scanning/scanning-practices/ignore-via-code-with-aikido-files).
