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

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

> \[!NOTE]
> 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 requests

Когда вы открываете pull request, GitHub Code QualityCodeQL он автоматически сканирует ваши изменения на предмет проблем с качеством, как описанные выше.

Результаты CodeQL сканирования отображаются в виде комментариев к вашему pull-requestу, оставленным `github-code-quality[бот]`. Каждый комментарий соответствует определенной проблеме с качеством кода, которая была обнаружена в ваших изменениях, и поставляется с предлагаемым автоисправлением.

Комментарии помечаются по степени серьезности (**Ошибка**, **Предупреждение**, **Примечание**), чтобы вы могли видеть, какие выводы наиболее критичны для устранения.

## 2. Расставляйте приоритеты исправлений в зависимости от серьезности

Сначала просмотрите комментарии и определите результаты с наивысшим уровнем серьезности («Ошибка»).

Если нет результатов "Error", ищите результаты следующего уровня серьезности ("Warning") и так далее.

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

> \[!NOTE]
> Администратор репозитория может задать элемент качества кода, **который блокирует** слияние на вашем pull-запросе, если в Code Quality его запросе есть данные определённого уровня серьёзности или выше. См [. раздел AUTOTITLE](/ru/enterprise-cloud@latest/code-security/code-quality/how-tos/unblock-your-pr).

## 3. Использование Автофикс второго пилота или Copilot облачный агент исправление результатов

### Автофикс второго пилота

Комментарии к запросу pull включают предлагаемое **автоисправление** , которое вы можете зафиксировать непосредственно в своем запросе pull. Внимательно изучите предложенное автоисправление на предмет логики, безопасности и стиля, затем нажмите **«Предложить фиксацию**».

Вам не нужна лицензия Copilot, чтобы применить эти предложения.

### Copilot облачный агент

В качестве альтернативы, если у вас есть Copilot лицензия, вы можете поручить работу по восстановлению .Copilot облачный агент Прокомментируйте pull-request, `@Copilot` упоминая и запросы, которые Copilot исправляют выявленные проблемы.

![Скриншот с PR-комментарием, в котором использовался облачный агент Copilot.](/assets/images/help/code-quality/invoke-cloud-agent.png)

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

Вы можете отслеживать 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)

Для вызова 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>

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

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

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

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

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

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

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

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

Чтобы просмотреть рейтинги вашего репозитория, перейдите во **<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** вкладку репозитория, разверните **<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> Качество кода** страницу в боковой панели и нажмите **Стандартные выводы**.

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

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

* Рассмотрите результаты проверки качества кода в ветви по умолчанию и оцените надежность и удобство обслуживания репозитория. См [. раздел AUTOTITLE](/ru/enterprise-cloud@latest/code-security/code-quality/tutorials/improve-your-codebase).
* Оставляйте обратную GitHub Code Quality связь в [обсуждении сообщества](https://github.com/orgs/community/discussions/177488).