Skip to main content

Справочник по метрикам и рейтингам

Поймите терминологию, используемую для GitHub оценки качества кода вашего репозитория.

Code Quality

В этой статье приведены определения метрик и рейтингов, используемых . Security and quality

Вы можете увидеть результаты на основе правил для вашего репозитория на вкладке Стандартные выводы , в Качество кода вкладке под "| Metric | Definition | Example findings | |----------------|-----------------|----------------------| | Reliability | Assess whether the code performs its intended function correctly, predictably, and consistently. Reliable code is free from bugs, handles errors safely, and operates as expected under normal and edge-case conditions. | Issues with performance, concurrency, error handling, correctness | | Maintainability | Assess how easy it is to understand, modify, and extend the code over time. Maintainable code follows best practices, avoids unnecessary complexity, and is organized for ease of future changes and collaboration. | Unused/dead code, readability, complexity, conflicting naming, poor separation of concerns |.

Определения метрик

В следующей таблице приведены определения для каждой метрики, которая сообщается для репозитория.

Единица измеренияDefinitionПримеры выводов
НадёжностьОцените, выполняет ли код свою предназначенную функцию правильно, предсказуемо и последовательно. Надежный код не содержит ошибок, безопасно обрабатывает ошибки и работает должным образом в нормальных и пограничных условиях.Проблемы с производительностью, параллелизмом, обработкой ошибок, корректностью, проектированием API, доступностью, интернационализацией или безопасностью
РемонтопригодностьОцените, насколько легко понять, изменить и расширить код с течением времени. Поддерживаемый код следует передовым практикам, позволяет избежать ненужной сложности и организован таким образом, чтобы упростить будущие изменения и совместную работу.Неиспользование лучших практик, неиспользуемый/мертвый код, дублирующийся код, сложность, логическая избыточность, неадекватная документация, проблемы с зависимостями

Уровни серьезности

Уровни серьезности используются для указания потенциального влияния или срочности определения качества кода. Они помогают пользователям расставлять приоритеты в усилиях по устранению неполадок и сообщать заинтересованным сторонам о рисках. Серьёзность определяется правилом, которое выявило проблему, в соответствии с CodeQL традициями и отраслевыми стандартами.

SeverityDefinition
ErrorУказывает на проблему высокой степени серьезности, которая может привести к ошибкам, сбоям или серьезным рискам удобства обслуживания.
ПредупреждениеУказывает на проблему средней степени серьезности, которая может повлиять на качество или надежность кода, но не является критической в данный момент.
Примечание.Указывает на проблему низкой степени серьезности, незначительное улучшение или рекомендацию. Эти результаты полезны для поддержания работоспособности и удобства сопровождения кода.

Определения рейтингов

Эти рейтинги используются для суммирования общей надёжности и поддерживаемости репозитория на основе серьёзности результатов, основанных на правилах, обнаруженных при | Severity | Definition | |-----------|--------------------| | Error | Indicates a high-severity issue that is likely to cause bugs, failures, or major maintainability risks. | | Warning | Indicates a moderate-severity issue that may impact code quality or reliability, but is not immediately critical. | | Note | Indicates a low-severity issue, minor improvement, or recommendation. These findings are useful for ongoing code health and maintainability. | сканировании полной ветки по умолчанию:

RatingDefinitionКритерии (на основе полученных данных)
отличныеCodebase демонстрирует передовые методы обеспечения надежности и удобства обслуживания.Не обнаружено никаких данных о качестве кода
ХорошийВ Codebase есть проблемы с низким уровнем серьезности или предлагаются незначительные улучшения.≥1 Определение уровня "Примечание"
ЯрмаркаВ Codebase есть проблемы средней степени серьезности, которые могут повлиять на качество, но не являются критическими.≥1 Определение уровня "Предупреждение"
БедныхCodebase имеет проблемы высокой степени серьезности, включая ошибки или серьезные риски удобства обслуживания.≥1 Определение уровня "Ошибка"

Покрытие кода

Покрытие кода измеряет, какой процент исходного кода выполняется во время запуска тестового набора. CodeQL показывает процент покрытия на pull requests после загрузки отчёта Cobertura XML покрытия.

Как рассчитывается покрытие

Процент покрытия — это количество покрываемых линий, делённое на общее количество линий, выраженное в процентах. Code Quality хранит последнюю загрузку для каждого филиала (включая стандартную ветку) и сравнивает покрытие филиала PR с покрытием по умолчанию.

Например, если ваш филиал по умолчанию имеет 44% покрытия, а PR — 65%, то PR получил 21 процентный пункт покрытия.

Дельта по файлу

Разбивка по файлам pull requests показывает, как менялось покрытие для каждого изменённого файла. Положительная дельта означает, что файл получил покрытие на ветке PR по сравнению с стандартной.

Чтобы настроить покрытие кода для вашего репозитория, смотрите Настройка покрытия кодами для вашего репозитория.

Дополнительные материалы