Skip to main content

Ответственное использование GitHub Code Quality

Используйте GitHub Code Quality ответственно, понимая его цели, возможности и ограничения.

Примечание.

          GitHub Code Quality в настоящее время находится и public preview может измениться.

Во время public preview, Code Quality счета не будет, хотя Code Quality сканирование займёт GitHub Actions несколько минут.

Около GitHub Code Quality

          GitHub Code Quality помогает пользователям повысить надёжность, поддерживаемость и общее состояние проекта, предоставляя практическую обратную связь и предлагая автоматические исправления любых результатов в pull requests и на ветке по умолчанию.

Когда вы включите Code Quality, выполняются два типа анализа:

  •         **
            CodeQL Запросы по качеству** выполняются с использованием code scanning анализа и выявляют проблемы с поддерживаемостью, надёжностью или стилем кода. Это выполняется с измененным кодом во всех запросах pull на ветвь по умолчанию. Он также периодически запускается в полной ветке по умолчанию.
    
  •         **Анализ на основе больших языковых моделей (LLM** ) даёт дополнительное понимание потенциальных проблем качества, выходящих за рамки того, что охватывают детерминированные двигатели, такие CodeQLкак . Он выполняется автоматически для файлов, измененных во время недавних отправок в ветвь по умолчанию. Эти результаты отображаются в Code Qualityпанели **Выводы ИИ** управления , под **<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** вкладкой репозитория.
    

Когда один из типов анализа обнаруживает проблему качества, Автофикс второго пилота это предлагает соответствующее исправление, которое разработчики могут пересмотреть и применить.

В pull request-запросах Code Quality результаты отображаются в виде комментариев, оставленных github-code-quality ботом, который включает предложенный автофикс, где это возможно.

Анализ последних пушей на основе LLM

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

Обработка входных данных

Изменения кода объединяются с другой релевантной контекстной информацией для формирования запроса, и этот запрос отправляется в большую языковую модель.

Анализ языковой модели

Затем запрос проходит через Copilot языковую модель — нейронную сеть, обученную на большом объёме текстовых данных. Языковая модель анализирует входную строку.

Создание ответов

Языковая модель создает ответ на основе его анализа входной строки. Этот ответ может принимать форму предложений естественного языка и предложений кода.

Форматирование вывода

Ответ, сгенерированный Code Quality пользователям, подаётся напрямую пользователю, предоставляя обратную связь кода, связанную с определёнными строками конкретных файлов. Если Code Quality предложение кода преподаётся, оно представлено как предлагаемое изменение, которое можно применить парой кликов.

          GitHub Copilot Автофикс Предложения

В pull request-запросах Code Quality результаты, полученные анализом code scanning , отправляют ввод в LLM. Если LLM может сгенерировать потенциальное исправление, github-code-quality бот публикует комментарий с предлагаемым изменением прямо в запросе на вытягивание.

Кроме того, пользователи могут запросить генерацию автоисправлений для результатов в ветви по умолчанию.

Для получения дополнительной информации о процессе генерации предложений для GitHub Copilot Автофикс, см. Ответственное использование Автофикса Copilot для сканирования кода.

Сценарий использования GitHub Code Quality

Цель GitHub Code Quality — следующее:

  • Выявляйте проблемы с качеством кода в репозитории, чтобы разработчики и администраторы репозитория могли быстро выявлять, приоритизировать и сообщать о зонах риска.
  • Ускорить работу по устранению, предлагая Автофикс второго пилота рекомендации по результатам, полученным при сканировании стандартной ветки, а также по результатам недавних push-работ на стандартную ветку.
  • Быстро оставляйте полезную обратную связь по коду разработчика. В pull requests Code Quality объединяет информацию о лучших практиках с деталями кода и результатами, чтобы предложить разработчику возможное исправление.

Повышение производительности GitHub Code Quality

Если вы столкнулись с какими-либо проблемами или ограничениями с предлагаемыми исправлениями в запросах на вытягивание, мы рекомендуем вам оставить отзыв, используя кнопки «большой палец вверх» и «большой палец вниз» в комментариях github-code-quality бота. Это может помочь GitHub улучшить инструмент и устранить любые проблемы или ограничения.

Ограничения GitHub Code Quality

Ограничения Code Qualityанализа на основе LLM от

          Code QualityАнализ на основе LLM использует ту же базовую языковую модель и движок анализа, что GitHub Copilot обзор кодаи . Поэтому он имеет схожие ограничения при анализе качества кода. К ключевым соображениям относятся:
  • Неполное обнаружение
  • Ложные срабатывания
  • Точность предложения кода
  • Потенциальные смещения

Для получения подробной информации об этих ограничениях см. AUTOTITLE.

Вы всегда должны просматривать результаты, полученные в GitHub Code Qualityанализе LLM, чтобы проверить их точность и применимость к вашей кодовой базе.

Ограничения Автофикс второго пилота

          Автофикс второго пилота Потому что Code Quality результаты не смогут найти решение для каждого находки в каждой ситуации. Функция работает на основе наилучших усилий и не гарантируется успешной 100% времени.

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

Для получения дополнительной информации о ограничениях Автофикс второго пилота, качестве Автофикс второго пилота предложений и наилучших способах их смягчения см. Ответственное использование Автофикса Copilot для сканирования кода

Предоставьте отзыв

Вы можете оставить обратную связь GitHub Code Quality в обсуждении сообщества.

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

Узнайте, как GitHub Code Quality работает проблема качества кода по умолчанию на поверхность, и помогите быстро понять состояние кода вашего репозитория. См . раздел AUTOTITLE.