Документация

Проверки, запуски и результаты

Анализ результатов проверки, классификация обнаруженных проблем и принятие решения о дальнейших действиях.

Проверка — проверка — это одна единица верификации. Запуск — запуск — это одно выполнение всех проверок в рамках политики по отношению к изменению кода. Найденная проблема — найденная проблема — это то, что зафиксировала проверка.

Найти их можно в разделе Качество → Запуски и Качество → Результаты.

Анализ запуска

В запуске отображаются все проверки, их результаты и вывод. Если верификация задачи завершилась неудачно, именно в запуске можно узнать причину.

Читайте информацию сверху вниз. Первая непройденная проверка обычно является основной причиной ошибки — последующие сбои часто являются её следствием. Ошибка сборки с последующими двенадцатью сбоями тестов — это одна проблема, а не тринадцать.

Результаты

Результаты формируются агентами-рецензентами, сканерами и механизмами контроля. Каждый результат содержит информацию о найденной проблеме, её местоположении и степени серьёзности.

Жизненный цикл результатов:

  1. Выявлено — проверкой или рецензентом.
  2. Направлено — исправимые результаты возвращаются агенту разработчика для доработки; остальные прикрепляются к pull request.
  3. Решено — исправлено, принято или подавлено.

Триаж

Вопрос к каждому результату звучит не как «верно ли это?», а как «влияет ли это на дальнейшие действия?»

  • Исправить сейчас — корректность, безопасность и всё, что в любом случае приведёт к отклонению при проверке.
  • Принять — верно, но здесь нет необходимости предпринимать действия. Необходимо зафиксировать причину.
  • Подавить — ложноположительный результат или правило, не применимое к данному коду.

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

Если результатов слишком много

Количество результатов — это сигнал о настройках, а не о качестве кода.

Если проверка срабатывает для большинства изменений, она не выявляет проблемы — она описывает вашу кодовую базу. Либо правило не соответствует вашим стандартам, либо оно описывает технический долг, с которым вы решили мириться. В обоих случаях форма проверки неверна.

Результаты и шлюзы

Результат из рекомендательного шлюза — это информация. Тот же результат из блокирующего шлюза останавливает выполнение задачи. Сам результат идентичен; политика определяет его последствия.

Это рычаг, который следует использовать, когда проверка верна, но слишком агрессивна: измените её уровень серьёзности, а не удаляйте её. Подробнее — на странице Политики качества и шлюзы.