Показатели и метрики оценки

В разделе приведены основные понятия качества кода и метрики его оценки.

Основные понятия

  • Чистота кода — подход к качеству кода, который устраняет ошибки написания кода, возникающие при использовании традиционных подходов.
  • Проект — набор данных о настройке, анализе, тенденциях конкретного репозитория. Проект создает пользователь с правами администратора в SonarQube.
  • Домашняя страница проекта — начальное окно входа в любой проект. Она отображается после создания проекта в SonarQube. На этой странице отображается следующие показатели:
    • статус проекта;
    • текущее состояние качества кода;
    • качество кода, проверенного с начала отчетного периода.
    Показатели помогают оценить, готов ли проект к выпуску сегодня и что нужно улучшить для прохождения Quality Gates.
  • Портфолио — основной инструмент мониторинга для менеджеров и технических специалистов, следящих за статусом проектов. Возможность дальнейшей работы определяется по параметрам качества проекта: значение Пропущено означает готовность проекта, а значение Ошибка указывает на наличие ошибок и неготовность проекта. Пример портфолио представлен на рисунке ниже.
    Панель-портфолио проекта

    Увеличить

  • Правила — модули, которые выполняются в исходном коде для поиска проблем. Правила фиксируются в Профиле качества (Quality Profiles). Панель Правила представлена на рисунке ниже.
    Панель правил

    Увеличить

  • Quality Gates — набор проверок качества, которые помогают понять, готов ли код к выпуску на данный момент. Чтобы оценить готовность кода, определяется набор логических условий на основе пороговых значений, по которым измеряются проекты. Например: нет новых проблем с блокировщиком, покрытие кода новым кодом больше 80%. Возможно использование нескольких наборов, для более точного контроля кода разных проектов. Панель Quality Gates представлена на рисунке ниже.
    Панель «Quality Gates»

    Увеличить

Метрики оценки кода

Параметры оценки кода приведены в таблице ниже.
ПараметрОписание
Сложность (complexity)
Параметр, рассчитанный на основе количества ветвлений кода. Когда поток управления функции разделяется, счетчик сложности увеличивается на единицу. Каждая функция имеет минимальную сложность равную 1. Это вычисление различается в зависимости от языка, поскольку ключевые слова и функции имеют специфичные для языка детали
Дублированные строки (duplicated_lines)
Количество строк с дублированным кодом
Замечания (violations)
Общее количество проблем в проекте
Технический долг (sqale_index)
Время для исправления всех недостатков кода (в минутах)
Ошибки (bugs)
Общее количество нарушений в кодировании
Уязвимости (vulnerabilities)
Количество найденных известных уязвимостей безопасности исполнения в коде
Покрытие кода (branch_coverage)
Плотность возможных условий в структурах управления потоком, которые выполнялись во время выполнения модульных испытаний. Параметр показывает, было ли каждое логическое выражение оценено как истинное и ложное
Предыдущий раздел
1.27 Анализ качества кода
Следующий раздел
Настройки шифрования
Была ли страница полезной?