Примечание.
GitHub Code Quality в настоящее время находится в Публичный предварительный просмотр и может быть изменен. Во время Публичный предварительный просмотр, Code Quality не будут оплачиваться, хотя Code Quality сканирование займет GitHub Actions минут.
В этой статье приведены определения метрик и рейтингов, используемых .Code Quality
Вы можете увидеть результаты на основе правил для вашего репозитория на вкладке Security and quality , в Стандартные выводы вкладке под " Качество кода.
Определения метрик
В следующей таблице приведены определения для каждой метрики, которая сообщается для репозитория.
| Единица измерения | Definition | Примеры выводов |
|---|---|---|
| Надёжность | Оцените, выполняет ли код свою предназначенную функцию правильно, предсказуемо и последовательно. Надежный код не содержит ошибок, безопасно обрабатывает ошибки и работает должным образом в нормальных и пограничных условиях. | Проблемы с производительностью, параллелизмом, обработкой ошибок, корректностью, проектированием API, доступностью, интернационализацией или безопасностью |
| Ремонтопригодность | Оцените, насколько легко понять, изменить и расширить код с течением времени. Поддерживаемый код следует передовым практикам, позволяет избежать ненужной сложности и организован таким образом, чтобы упростить будущие изменения и совместную работу. | Неиспользование лучших практик, неиспользуемый/мертвый код, дублирующийся код, сложность, логическая избыточность, неадекватная документация, проблемы с зависимостями |
Уровни серьезности
Уровни серьезности используются для указания потенциального влияния или срочности определения качества кода. Они помогают пользователям расставлять приоритеты в усилиях по устранению неполадок и сообщать заинтересованным сторонам о рисках. Серьёзность определяется правилом, которое выявило проблему, в соответствии с CodeQL традициями и отраслевыми стандартами.
| Severity | Definition |
|---|---|
| Error | Указывает на проблему высокой степени серьезности, которая может привести к ошибкам, сбоям или серьезным рискам удобства обслуживания. |
| Предупреждение | Указывает на проблему средней степени серьезности, которая может повлиять на качество или надежность кода, но не является критической в данный момент. |
| Примечание. | Указывает на проблему низкой степени серьезности, незначительное улучшение или рекомендацию. Эти результаты полезны для поддержания работоспособности и удобства сопровождения кода. |
Определения рейтингов
Эти рейтинги используются для суммирования общей надёжности и поддерживаемости репозитория на основе серьёзности результатов, основанных на правилах, обнаруженных при CodeQL сканировании полной ветки по умолчанию:
| Rating | Definition | Критерии (на основе полученных данных) |
|---|---|---|
| отличные | Codebase демонстрирует передовые методы обеспечения надежности и удобства обслуживания. | Не обнаружено никаких данных о качестве кода |
| Хороший | В Codebase есть проблемы с низким уровнем серьезности или предлагаются незначительные улучшения. | ≥1 Определение уровня "Примечание" |
| Ярмарка | В Codebase есть проблемы средней степени серьезности, которые могут повлиять на качество, но не являются критическими. | ≥1 Определение уровня "Предупреждение" |
| Нуждается в доработке | Codebase имеет проблемы высокой степени серьезности, включая ошибки или серьезные риски удобства обслуживания. | ≥1 Определение уровня "Ошибка" |
Покрытие кода
Покрытие кода измеряет, какой процент исходного кода выполняется во время запуска тестового набора. Code Quality показывает процент покрытия на pull requests после загрузки отчёта Cobertura XML покрытия.
Как рассчитывается покрытие
Процент покрытия — это количество покрываемых линий, делённое на общее количество линий, выраженное в процентах. Code Quality хранит последнюю загрузку для каждого филиала (включая стандартную ветку) и сравнивает покрытие филиала PR с покрытием по умолчанию.
Например, если ваш филиал по умолчанию имеет 44% покрытия, а PR — 65%, то PR получил 21 процентный пункт покрытия.
Дельта по файлу
Разбивка по файлам pull requests показывает, как менялось покрытие для каждого изменённого файла. Положительная дельта означает, что файл получил покрытие на ветке PR по сравнению с стандартной.
Чтобы настроить покрытие кода для вашего репозитория, смотрите Setting up code coverage for your repository.