# Повышение качества недавно объединенного кода с помощью ИИ

Изучите GitHub Code Quality результаты недавно объединённого кода и исправьте или Автофикс второго пилота делегируем работу по исправлению .Copilot облачный агент

> \[!NOTE]
> GitHub Code Quality в настоящее время находится в public preview и может быть изменен.
> Во время public preview, Code Quality не будут оплачиваться, хотя Code Quality сканирование займет GitHub Actions минут.

## Введение

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

Когда вы улучшаете качество недавно объединенных файлов, вы уменьшаете технический долг в репозитории и облегчаете работу других разработчиков с файлами, которые находятся в активной разработке.

###

```
          Code Quality имеет две линии обороны

          Code Quality сканирует pull requests и комментирует вопросы качества, **а затем запускает второе AI-сканирование** после объединения pull-запроса. Эти два типа сканирования используют взаимодополняющие технологии:
```

* **Pull request-сканы** используют CodeQL правила для выявления проблем. Этот анализ тщательно протестирован, хорошо выявляет, где код не соответствует правилам качества, и может анализировать множество файлов. Тем не менее, он поддерживает подмножество языков программирования и не может идентифицировать проблемы, для которых нет правила.

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

### Предпосылки

* Code Quality включено, см. [Включение GitHub Code Quality](/ru/enterprise-cloud@latest/code-security/code-quality/how-tos/enable-code-quality).
* По крайней мере один pull-запрос был объединён с тех пор Code Quality , как он был активирован.

## 1. Просмотрите предложения ИИ для репозитория

После Code Quality сканирования недавно объединённых файлов на вашей стандартной ветке вы можете увидеть результаты в **Выводы ИИ** режиме представления, где отображаются результаты до 5 файлов.

1. Перейдите на **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-shield" aria-label="shield" role="img"><path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></svg> Security and quality** вкладку вашего репозитория.
2. Нажмите, чтобы развернуть **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-code-review" aria-label="code review" role="img"><path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 13H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25v-8.5C0 1.784.784 1 1.75 1ZM1.5 2.75v8.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-8.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm5.28 1.72a.75.75 0 0 1 0 1.06L5.31 7l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.75.75 0 0 1 1.06 0Zm2.44 0a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L10.69 7 9.22 5.53a.75.75 0 0 1 0-1.06Z"></path></svg> Качество кода**, затем нажмите **Выводы ИИ**.

> \[!NOTE]
> Это представление пусто, если репозиторий неактивен или если LLM-анализ не смог предложить способы улучшения качества кода при недавних отправках в ветвь по умолчанию.

## 2. Изучите предлагаемые улучшения для репозитория

На **Выводы ИИ** странице каждый файл перечисляется с количеством выявленных проблем с качеством и с моментом отправки файла в стандартную ветку.

* Щелкните имя файла, чтобы просмотреть сведения об обнаруженных проблемах с качеством и предлагаемых исправлениях.

![Скриншот представления "Выводы ИИ" для качества кода.](/assets/images/help/code-quality/ai-suggestions-repo.png)

## 3. Делегируйте работу по исправлению или открывайте запросы на вытягивание самостоятельно

Вы можете открыть pull request, чтобы применить рекомендованные автофиксы к файлу или делегировать работу по восстановлению на Copilot облачный агент. Вам нужна Copilot лицензия, чтобы назначить работу на Copilot облачный агент. <br> <a href="https://github.com/features/copilot/plans?ref_product=copilot&ref_type=purchase&ref_style=button" target="_blank" class="btn btn-primary mt-3 mr-3 no-underline"> <span>Зарегистрируйтесь Copilot</span><svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-link-external" aria-label="link external icon" role="img"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path></svg></a>

### Делегировать работу Copilot облачный агент

Вы можете попросить Облачный агент открыть pull-запросы для улучшения файлов, используя предложенные изменения в качестве подсказки. Это лучший вариант, если предложенные изменения кажутся вам хорошими и вы хотите открыть запрос на вытягивание, который применяет исправления к более чем одному файлу.

Чтобы делегировать создание пулл-реквеста:

* **Несколько файлов:** Выберите нужные файлы, затем нажмите **«Назначить выбранно Copilot** » в заголовке списка файлов.
* \*\*Один файл:\*\***Нажмите Assign Copilot** to для файла.

Есть задержка, пока Облачный агент он готовит работу. Когда пулл-реквест открыт и идет работа, отображается баннер со ссылкой на пул-реквест.

Вы можете отслеживать Copilot облачный агентработу :

* В запросе на вытягивание сводка обновляется по мере выполнения работы.
* Использование [страницы агентов](https://github.com/copilot/agents?ref_product=copilot\&ref_type=engagement\&ref_style=text) или журналов сеансов. См [. раздел AUTOTITLE](/ru/enterprise-cloud@latest/copilot/how-tos/use-copilot-agents/cloud-agent/track-copilot-sessions).

### Открытие собственных запросов на вытягивание

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

* Вам нужно работать над изменениями локально или внутри GitHub Desktop до открытия pull request
* У вас нет доступа к Copilot облачный агент

> \[!NOTE]
> Когда вы открываете запрос на вытягивание самостоятельно, вы можете фиксировать исправления только в одном файле за раз. Чтобы исправить несколько файлов одновременно, нужно использовать Copilot облачный агент.

#### Открытие запроса на вытягивание

1. Щелкните имя файла, чтобы просмотреть сведения об обнаруженных проблемах с качеством.

2. Ознакомьтесь с проблемами и предложенными способами их устранения.

3. Расширите **выпадающее меню Assign Copilot** и нажмите <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-git-pull-request" aria-label="Pull request" role="img"><path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path></svg>**Open pull** request, чтобы изменить опцию по умолчанию на «Open pull request». Ваши предпочтения запоминаются.

   ![Скриншот представления "Выводы ИИ" для качества кода.](/assets/images/help/code-quality/ai-suggestions-repo-fixes.png)

4. Нажмите **кнопку Открыть запрос на вытягивание** , чтобы открыть диалоговое окно с параметрами фиксации.

5. ```
          **Нажмите Зафиксировать изменение**, чтобы создать запрос на вытягивание с исправлениями.
   ```

## 4. Предоставьте рецензентам пул-реквестов контекст

Предоставление контекста о том, почему вы предлагаете изменения в коде, — лучший способ побудить членов команды пересмотреть ваш запрос на вытягивание. Если вы использовали Copilot облачный агент, резюме pull request-запроса уже содержит полные детали проблем, исправленных этим запросом.

Если вы открыли pull request напрямую из вида, сводка GitHub Code Quality pull request сведёт к виду "Выводы ИИ" () Возможно, вы захотите скопировать некоторые объяснения из Выводы ИИ представления в резюме pull request.

![Скриншот сводки запроса на вытягивание, созданного GitHub Code Quality.](/assets/images/help/code-quality/user-pr-ai-findings.png)

## 5. Увидеть, как ваши изменения влияют на Выводы ИИ

Когда вы возвращаетесь в «Выводы ИИ» после слияния pull-запроса, исправленные вами выводы больше не отображаются.

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

* Узнайте больше о том, как Copilot облачный агент это может помочь ускорить выполнение задач разработки. См [. раздел AUTOTITLE](/ru/enterprise-cloud@latest/copilot/tutorials/cloud-agent/get-the-best-results).
* Оставляйте обратную GitHub Code Quality связь в [обсуждении сообщества](https://github.com/orgs/community/discussions/177488).