Skip to main content

Исправление результатов проверки качества кода перед слиянием запроса на вытягивание

Выявляйте проблемы с качеством до того, как они достигнут ветки по умолчанию, и исправляйте их с помощью Автофикс второго пилота и Агент кодирования Copilot.

Кто может использовать эту функцию?

Пользователи с доступом на запись

GitHub Code Quality доступно для репозиториев, принадлежащих организации, на GitHub Team или GitHub Enterprise Cloud

Примечание.

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 исправить обнаруженные проблемы.

Скриншот с комментарием PR, который вызвал агент кодирования Copilot.

Copilot отвечает эмодзи глаз (👀) на ваш комментарий, запускает новую сессию агента и открывает запрос на вытягивание с необходимыми исправлениями.

Вы можете отслеживать для вызова Агент кодирования Copilot.
Зарегистрируйтесь для Copilot

4. Отмахивайтесь от несущественных выводов

Вы можете отклонить вывод, если он не имеет отношения к вашей кодовой базе или не требует действий. Распространенные причины для отклонения заключения включают:

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

Отклонение неактуальных оповещений позволяет вашим проверкам качества сосредоточиться на значимых проблемах.

5. Отправьте изменения и дождитесь сканирования

После исправления или отклонения результатов отправьте изменения в ветвь, связанную с запросом на вытягивание. GitHub Code Quality автоматически повторно просканирует ваши изменения и соответствующим образом обновит комментарии к вашему запросу на вытягивание.

6. Проверьте рейтинги качества кода вашего репозитория

Любой пользователь с доступом на запись может просматривать общие оценки качества кода для репозитория, которые обобщают состояние надежности и удобства обслуживания кода в ветви по умолчанию.

Чтобы просмотреть рейтинги репозитория, перейдите на вкладку « Безопасность » репозитория, разверните Качество кода на боковой панели, затем нажмите Стандартные выводы.

Устраняя проблемы перед слиянием запросов на вытягивание, вы напрямую способствовали поддержанию этих оценок.

Дальнейшие шаги

  • Рассмотрите результаты проверки качества кода в ветви по умолчанию и оцените надежность и удобство обслуживания репозитория. См . раздел AUTOTITLE.
  • Оставьте отзыв о GitHub Code Quality в обсуждении сообщества.