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