Проверка — проверка — это одна единица верификации. Запуск — запуск — это одно выполнение всех проверок в рамках политики по отношению к изменению кода. Найденная проблема — найденная проблема — это то, что зафиксировала проверка.
Найти их можно в разделе Качество → Запуски и Качество → Результаты.
Анализ запуска
В запуске отображаются все проверки, их результаты и вывод. Если верификация задачи завершилась неудачно, именно в запуске можно узнать причину.
Читайте информацию сверху вниз. Первая непройденная проверка обычно является основной причиной ошибки — последующие сбои часто являются её следствием. Ошибка сборки с последующими двенадцатью сбоями тестов — это одна проблема, а не тринадцать.
Результаты
Результаты формируются агентами-рецензентами, сканерами и механизмами контроля. Каждый результат содержит информацию о найденной проблеме, её местоположении и степени серьёзности.
Жизненный цикл результатов:
- Выявлено — проверкой или рецензентом.
- Направлено — исправимые результаты возвращаются агенту разработчика для доработки; остальные прикрепляются к pull request.
- Решено — исправлено, принято или подавлено.
Триаж
Вопрос к каждому результату звучит не как «верно ли это?», а как «влияет ли это на дальнейшие действия?»
- Исправить сейчас — корректность, безопасность и всё, что в любом случае приведёт к отклонению при проверке.
- Принять — верно, но здесь нет необходимости предпринимать действия. Необходимо зафиксировать причину.
- Подавить — ложноположительный результат или правило, не применимое к данному коду.
Подавляйте результаты осознанно и с указанием причины. Непояснённое подавление неотличимо от попытки скрыть неудобную правду, и через полгода никто не сможет определить, что именно произошло.
Если результатов слишком много
Количество результатов — это сигнал о настройках, а не о качестве кода.
Если проверка срабатывает для большинства изменений, она не выявляет проблемы — она описывает вашу кодовую базу. Либо правило не соответствует вашим стандартам, либо оно описывает технический долг, с которым вы решили мириться. В обоих случаях форма проверки неверна.
Результаты и шлюзы
Результат из рекомендательного шлюза — это информация. Тот же результат из блокирующего шлюза останавливает выполнение задачи. Сам результат идентичен; политика определяет его последствия.
Это рычаг, который следует использовать, когда проверка верна, но слишком агрессивна: измените её уровень серьёзности, а не удаляйте её. Подробнее — на странице Политики качества и шлюзы.