Примечание.
GitHub Code Quality в настоящее время находится в public preview и может быть изменен. Во время public preview, Code Quality не будут оплачиваться, хотя Code Quality сканирование займет GitHub Actions минут.
Введение
В этом руководстве показано, как работать с GitHub Code Quality в запросах на вытягивание, чтобы определить проблемы с качеством кода, которые в противном случае могут быть непреднамеренно вызваны изменениями, а также как устранять и устранять обнаруженные результаты анализа качества кода с помощью Автофикс второго пилота и Агент кодирования Copilot.
Преимущества раннего выявления проблем
Своевременное выявление проблем с качеством кода позволяет поддерживать кодовую базу вашей команды в форме. GitHub Code Quality проверяет ваш код на:
-
**Надежность**: например, логические ошибки, небезопасная обработка ошибок или условия гонки, которые могут привести к сбою или непредсказуемому поведению приложения. Решая проблемы такого рода на ранней стадии, вы делаете свое программное обеспечение более надежным и надежным для пользователей. -
**Удобство обслуживания**: например, дублированный код, слишком сложная логика, неиспользуемые переменные или нарушения лучших практик кодирования. Исправление этих проблем делает код более чистым и удобным для чтения, поэтому будущие изменения будут более быстрыми и менее рискованными.
1. Понять, как GitHub Code Quality работает на пулл-реквестах
Когда вы открываете pull request, GitHub Code Quality использует CodeQL для автоматического сканирования ваших изменений на предмет проблем с качеством, описанных выше.
Результаты сканирования CodeQL отображаются в виде комментариев к вашему pull-request, оставленным github-code-quality[бот]. Каждый комментарий соответствует определенной проблеме с качеством кода, которая была обнаружена в ваших изменениях, и поставляется с предлагаемым автоисправлением.
Комментарии помечаются по степени серьезности (Ошибка, Предупреждение, Примечание), чтобы вы могли видеть, какие выводы наиболее критичны для устранения.
2. Расставляйте приоритеты исправлений в зависимости от серьезности
Сначала просмотрите комментарии и определите результаты с наивысшим уровнем серьезности («Ошибка»).
Если нет результатов "Error", ищите результаты следующего уровня серьезности ("Warning") и так далее.
Результаты с высокой степенью серьезности указывают на более серьезные проблемы с качеством кода, которые с большей вероятностью приведут к проблемам с надежностью или удобством обслуживания в базе кода. Устраняя проблемы с высокой степенью серьезности, вы выполняете наиболее важную работу по поддержанию качества кода вашей команды.
Примечание.
Администратор репозитория может установить шлюз качества кода, который блокирует слияние в вашем запросе на вытягивание, если запрос на вытягивание содержит Code Quality находки определенного уровня серьезности или выше. См . раздел AUTOTITLE.
3. Используйте Автофикс второго пилота или Агент кодирования Copilot для исправления результатов
Автофикс второго пилота
Комментарии к запросу pull включают предлагаемое автоисправление , которое вы можете зафиксировать непосредственно в своем запросе pull. Внимательно изучите предложенное автоисправление на предмет логики, безопасности и стиля, затем нажмите «Предложить фиксацию».
Вам не нужна лицензия Copilot, чтобы применить эти предложения.
Агент кодирования Copilot
В качестве альтернативы, если у вас есть лицензия Copilot, вы можете делегировать работу по исправлению Агент кодирования Copilot. Прокомментируйте запрос на вытягивание с упоминанием @Copilot и попросите Copilot исправить обнаруженные проблемы.

Copilot отвечает эмодзи глаз (👀) на ваш комментарий, запускает новую сессию агента и открывает запрос на вытягивание с необходимыми исправлениями.
Вы можете отслеживать Агент кодирования Copilotработу }:
- В запросе на вытягивание сводка обновляется по мере выполнения работы.
- Используя страницу агентов или журналы сеансов, см. AUTOTITLE.
Вам нужна лицензия Copilot для вызова Агент кодирования Copilot.
Зарегистрируйтесь для Copilot
4. Отмахивайтесь от несущественных выводов
Вы можете отклонить вывод, если он не имеет отношения к вашей кодовой базе или не требует действий. Распространенные причины для отклонения заключения включают:
- Находка содержится в устаревшем коде, который больше не поддерживается.
- Это известное исключение из стандартов программирования вашей команды.
- Это ложное срабатывание, которое не представляет реального риска для качества.
Отклонение неактуальных оповещений позволяет вашим проверкам качества сосредоточиться на значимых проблемах.
5. Отправьте изменения и дождитесь сканирования
После исправления или отклонения результатов отправьте изменения в ветвь, связанную с запросом на вытягивание. GitHub Code Quality автоматически повторно просканирует ваши изменения и соответствующим образом обновит комментарии к вашему запросу на вытягивание.
6. Проверьте рейтинги качества кода вашего репозитория
Любой пользователь с доступом на запись может просматривать общие оценки качества кода для репозитория, которые обобщают состояние надежности и удобства обслуживания кода в ветви по умолчанию.
Чтобы просмотреть рейтинги репозитория, перейдите на вкладку « Безопасность » репозитория, разверните Качество кода на боковой панели, затем нажмите Стандартные выводы.
Устраняя проблемы перед слиянием запросов на вытягивание, вы напрямую способствовали поддержанию этих оценок.
Дальнейшие шаги
- Рассмотрите результаты проверки качества кода в ветви по умолчанию и оцените надежность и удобство обслуживания репозитория. См . раздел AUTOTITLE.
- Оставьте отзыв о GitHub Code Quality в обсуждении сообщества.