Introduction
В этом руководстве вы будете работать с невыполненной работой Code Quality в ветви по умолчанию, приоритетом по рискам, разрешать результаты с наибольшим воздействием и обмениваться результатами с заинтересованными лицами. Вы узнаете:
- Как прочитать панель мониторинга и понять, что означают ваши оценки.
- Как определить приоритет исправления и решить, следует ли применять автофикс, делегат к Copilot облачный агентили закрыть поиск.
- Как сообщить о влиянии работы по исправлению.
- Какие дополнительные меры можно предпринять, чтобы предотвратить отставание от роста снова.
Это пошаговое руководство, поэтому оно способствует пониманию скорости. Основные шаги по созданию автофикса или закрытию поиска см. в руководстве по автофиксу: AUTOTITLE.
Перед началом работы
- Code Quality включен в репозитории, который вы владеете или поддерживаете. См . раздел AUTOTITLE.
- Если вы недавно включили Code Quality , подождите несколько минут, пока CodeQL начальная проверка ветви по умолчанию завершится.
В этом руководстве мы будем использовать работающий пример: репозиторий, панель мониторинга которого в настоящее время показывает оценки "Надежность: низкая" и "Удобство обслуживания: справедливо" для качества кода.
Шаг 1. Оценка текущей оценки
- Перейдите на Security and quality вкладку вашего репозитория.
- Нажмите, чтобы развернуть Качество кода, затем нажмите Стандартные выводы.
Здесь вы увидите оценки надежности и удобства обслуживания.

Эти оценки вычисляются на основе результатов в ветви по умолчанию:
| Metric | Определение | Примеры выводов |
|---|---|---|
| Надёжность | Оцените, выполняет ли код свою предназначенную функцию правильно, предсказуемо и последовательно. Надежный код не содержит ошибок, безопасно обрабатывает ошибки и работает должным образом в нормальных и пограничных условиях. | Проблемы с производительностью, параллелизмом, обработкой ошибок, правильностью |
| Ремонтопригодность | Оцените, насколько легко понять, изменить и расширить код с течением времени. Поддерживаемый код следует передовым практикам, позволяет избежать ненужной сложности и организован таким образом, чтобы упростить будущие изменения и совместную работу. | Неиспользуемый или мертвый код, удобочитаемость, сложность, конфликтующее именование, плохое разделение проблем |
Каждая оценка определяется максимальной серьезностью поиска по-прежнему для этой метрики. Чтобы повысить оценку, необходимо очистить каждый поиск на текущем уровне высокого уровня серьезности.
В нашем примере надежность является "Плохой", так как по-прежнему существуют результаты на уровне ошибок, влияющих на надежность. Предупреждения и заметки стоит устранить, но до тех пор, пока ошибки не будут сняты, они не могут переместить оценку.
Шаг 2. Чтение списка по правилу и фокус на результатах с наибольшим воздействием
В представлении Стандартные выводы результаты группируются по правилу. Это полезно для понимания, так как одно правило со многими результатами может отражать одну повторяющуюся привычку кодирования. Как только вы понимаете одно вхождение, это может быть проще понять предложенные автофиксы для всех из них, что делает исправление быстрее и проще просматривать в массовом режиме.
Кроме того, найдите правила, которые будут завершать уровень серьезности для одной из ваших показателей, если очистка правила удаляет последний оставшийся "Ошибка", влияющий на надежность, оценка будет немедленно перемещена.
В нашем примере одно правило — "Перезаписаемое свойство" — учетные записи 40 из 128 результатов, а все 40 — уровень ошибки. Очистка приведет к удалению каждой нахождения на уровне ошибки, влияющей на надежность, что приведет к переходу к следующей скобке.
Шаг 3. Устранение результатов
После выбора правила решите, как обрабатывать каждый поиск:
| Assessment | Рекомендуемое действие | Примечания. |
|---|---|---|
| Поиск является законным. | Щелкните "Создать исправление " и откройте запрос на вытягивание | При нажатии кнопки "Создать исправление " используется AI credits. Вы можете добавить несколько автофиксов в одну ветвь в группу исправлений в одном запросе на вытягивание. |
| Поиск не применяется. Например, он находится в устаревшем коде, намеренном шаблоне или ложноположительных срабатываниях | Нажмите кнопку "Закрыть". | Поиск считается разрешенным и удален из списка открытых выводов. |
В нашем примере мы создадим автофиксы для выводов 40 "Перезаписанные свойства" и открываем запрос на вытягивание. Так как они совместно используют один шаблон, исправления почти идентичны. Мы объединяем запрос на вытягивание после прохождения проверки CI.
Шаг 4. Взаимодействие с воздействием
После объединения исправления вернитесь вСтандартные выводы представление "" и захват:
- Оценка, которая изменилась. Например, надежность: плохое → Fair.
- Требование, которое разблокировало его. Например, все результаты на уровне ошибок, влияющие на надежность, теперь разрешены.
- Сокращение открытых результатов. Например, от 128 до 88.
В нашем примере очистка правила "Overwritten property" перемещает надежность от "Плохой к справедливой" — первое улучшение оценки, на которое команда может указать.
Как это подключается к остальной части работоспособности кода
Каждое решение, разрешенное сегодня, может вновь появиться завтра, если новые запросы на вытягивание вводят одинаковые виды проблем. Чтобы остановить повторное создание невыполненной работы:
- Задайте порог слияния в ветви по умолчанию , чтобы блокировать запросы на вытягивание, которые вводят новые результаты качества кода. См . раздел AUTOTITLE.
- Исправьте результаты в запросе на вытягивание при их появлении. См . раздел AUTOTITLE.
Troubleshooting
- Оценки не двигались после объединения исправлений. По крайней мере один поиск на текущем уровне серьезности для этой метрики по-прежнему открыт.
- Проверка не выполняется повторно. Code Quality выполняется автоматически после каждой отправки в ветвь по умолчанию. Подождите несколько минут, пока рабочий процесс завершится.
Conclusion
В этом руководстве вы оценили оценки качества репозитория, определяли приоритеты невыполненной работы по серьезности и правилу, разрешали результаты с помощью автофиксов и сообщали результат как движение показателей.
Дальнейшие действия
- Еще больше сократите технический долг, исправив результаты в недавно измененных файлах. См . раздел AUTOTITLE.