Примечание.
GitHub Code Quality в настоящее время находится в public preview и может быть изменен. Во время public preview, Code Quality не будут оплачиваться, хотя Code Quality сканирование займет GitHub Actions минут.
Введение
Этот урок показывает, как исследовать и устранять проблемы с качеством, выявленные AI-анализом кода Code Quality, недавно интегрированным в вашу стандартную ветку.
Когда вы улучшаете качество недавно объединенных файлов, вы уменьшаете технический долг в репозитории и облегчаете работу других разработчиков с файлами, которые находятся в активной разработке.
Code Quality имеет две линии защиты
Code Quality сканирует запросы на вытягивание и комментарии по вопросам качества, а затем запускает второе сканирование AI после объединения запроса на вытягивание. Эти два типа сканирования используют взаимодополняющие технологии:
-
**Сканирование запросов на вытягивание** использует правила CodeQL для выявления проблем. Этот анализ тщательно протестирован, хорошо выявляет, где код не соответствует правилам качества, и может анализировать множество файлов. Тем не менее, он поддерживает подмножество языков программирования и не может идентифицировать проблемы, для которых нет правила. -
**При сканировании недавно объединенных файлов** используется большая языковая модель для анализа последних измененных файлов и создания отчетов о результатах для 5. Этот анализ проверяет ваш код на всех языках, не ограничиваясь правилами, и предоставляет контекстуальные сведения и предложения, которые могут выйти за рамки того, что предлагают правила CodeQL.
Предпосылки
- Code Quality включено, см. AUTOTITLE.
- По крайней мере один запрос на вытягивание был объединен с тех пор, как был включен Code Quality.
1. Просмотрите предложения ИИ для репозитория
После сканирования Code Quality недавно объединенных файлов в вашей ветке по умолчанию, вы можете увидеть результаты в представлении Выводы ИИ , которое отображает результаты для файлов до 5.
- Перейдите на вкладку «Безопасность» вашего репозитория.
- Нажмите, чтобы развернуть Качество кода, затем нажмите Выводы ИИ.
Примечание.
Это представление пусто, если репозиторий неактивен или если LLM-анализ не смог предложить способы улучшения качества кода при недавних отправках в ветвь по умолчанию.
2. Изучите предлагаемые улучшения для репозитория
На странице Выводы ИИ каждый файл перечислен с указанием количества выявленных проблем с качеством и временем отправки файла в ветвь по умолчанию.
- Щелкните имя файла, чтобы просмотреть сведения об обнаруженных проблемах с качеством и предлагаемых исправлениях.

3. Делегируйте работу по исправлению или открывайте запросы на вытягивание самостоятельно
Вы можете открыть запрос на вытягивание, чтобы применить предложенные автоисправления к файлу, или делегировать работу по исправлению Агент кодирования Copilot. Вам нужна лицензия Copilot, чтобы назначить работу Агент кодирования Copilot.
Зарегистрируйтесь для Copilot
Делегируйте работу Агент кодирования Copilot
Вы можете попросить Агент программирования открыть запросы на вытягивание для внесения улучшений в файлы, используя предложенные изменения в качестве запроса. Это лучший вариант, если предложенные изменения кажутся вам хорошими и вы хотите открыть запрос на вытягивание, который применяет исправления к более чем одному файлу.
Чтобы делегировать создание пулл-реквеста:
-
**Несколько файлов:** Выберите файлы, которые вы хотите включить, затем нажмите **Назначить выбранные Copilot** в заголовке списка файлов. -
**Один файл:****Нажмите Назначить Copilot** для файла.
Есть задержка, пока Агент программирования настраивает работу. Когда пулл-реквест открыт и идет работа, отображается баннер со ссылкой на пул-реквест.
Вы можете отслеживать Агент кодирования Copilotработу }:
- В запросе на вытягивание сводка обновляется по мере выполнения работы.
- Использование страницы агентов или журналов сеансов. См . раздел AUTOTITLE.
Открытие собственных запросов на вытягивание
Вы можете самостоятельно открыть запросы на вытягивание, чтобы применить предложения по автоисправлению. Это оптимальный вариант, если:
- Вы хотите поработать над изменениями локально или в GitHub Desktop перед открытием запроса на вытягивание
- У вас нет доступа к Агент кодирования Copilot
Примечание.
Когда вы открываете запрос на вытягивание самостоятельно, вы можете фиксировать исправления только в одном файле за раз. Чтобы исправить несколько файлов одновременно, необходимо использовать Агент кодирования Copilot.
Открытие запроса на вытягивание
-
Щелкните имя файла, чтобы просмотреть сведения об обнаруженных проблемах с качеством.
-
Ознакомьтесь с проблемами и предложенными способами их устранения.
-
Разверните выпадающее меню Назначить Copilot и затем нажмите Открыть запрос на вытягивание , чтобы изменить вариант по умолчанию на "Открыть запрос на вытягивание". Ваши предпочтения запоминаются.

-
Нажмите кнопку Открыть запрос на вытягивание , чтобы открыть диалоговое окно с параметрами фиксации.
-
**Нажмите Зафиксировать изменение**, чтобы создать запрос на вытягивание с исправлениями.
4. Предоставьте рецензентам пул-реквестов контекст
Предоставление контекста о том, почему вы предлагаете изменения в коде, — лучший способ побудить членов команды пересмотреть ваш запрос на вытягивание. Если вы использовали Агент кодирования Copilot, сводка запроса на вытягивание уже содержит полную информацию о проблемах, исправленных запросом на вытягивание.
Если вы открыли запрос на вытягивание непосредственно из представления GitHub Code Quality, сводка запроса на вытягивание ссылается на представление "Выводы ИИ". Возможно, вы захотите скопировать некоторые объяснения из представления Выводы ИИ в сводку запроса на вытягивание.

5. Посмотрите, как ваши изменения влияют на переменные данных.code-quality.recent_suggestions %}
Когда вы возвращаетесь к просмотру "Выводы ИИ" после объединения вашего запроса на вытягивание, исправленные вами результаты больше не отображаются.
Дальнейшие шаги
- Узнайте больше о том, как Агент кодирования Copilot может помочь ускорить выполнение задач разработки. См . раздел AUTOTITLE.
- Оставьте отзыв о GitHub Code Quality в обсуждении сообщества.