GitHub Code Quality анализирует код для проблем с качеством и покрытием и предоставляет Copilotисправления с питанием, которые можно применить одним щелчком мыши. Он выполняется в двух местах:
- При запросах Code Qualityна вытягивание использует детерминированные CodeQL правила для обнаружения известных антишаблоны и публикации результатов в виде встроенных комментариев перед объединением кода. Если вы отправляете отчет о охвате Cobertura XML, метрики покрытия показывают, поддерживает ли изменение или снижает охват. Вы можете применить пороговые значения качества и покрытия с помощью наборов правил, чтобы блокировать запросы на вытягивание, которые не соответствуют вашим критериям, поэтому новый долг качества не накапливается.
- В ветви по умолчанию проверки на основе правил определяют существующий долг качества в базе кода с автофиксами, которые можно применить напрямую или назначить для Copilot облачный агент разрешения от вашего имени. Анализ на основе искусственного интеллекта также выполняется в недавно измененных файлах, а также проблемы с тегами, которые выходят за рамки существующих наборов правил, включая языки, которые еще не охвачены CodeQL запросами.
Примечание.
При запросах на вытягивание публикует только результаты на Code Quality основе CodeQL правил. Если вам также нужны проверки на основе искусственного интеллекта для запросов на вытягивание, можно включить Обзор кода GitHub Copilot отдельно. См . раздел AUTOTITLE.
Случаи использования
Вот как GitHub Code Quality выглядит на практике.
Для разработчиков и команд:
- Разработчик открывает запрос на вытягивание , который представляет проблему надежности или обслуживания. Code Quality публикует комментарий, объясняющий проблему, и предлагает одно щелчком мыши исправление перед объединением кода. Разработчик также видит отчет о метриках охвата и может узнать, улучшается ли запрос на вытягивание или уменьшает охват по сравнению с ветвью по умолчанию.
- Команда наследует большую базу кода с годами накапливаемого долга качества. Code Quality сканирует ветвь по умолчанию, отображает результаты с автофиксами на панели мониторинга, а команда назначает работу по исправлению, чтобы Copilot облачный агент автоматически открывать запросы на вытягивание.
- Команда принимает помощников по написанию ИИ и нуждается в уверенности, что созданный код соответствует той же строке, что и рукописный код. Анализ на основе искусственного интеллекта перехватывает проблемы в недавно измененных файлах, для которые запросы на основе правил не были написаны, а CodeQL правила охватывают четко определенные антишаблоны.
Для администраторов и потенциальных клиентов:
- Инженерный ведущий задает пороги покрытия и качества с помощью наборов правил. Запросы на вытягивание, которые не соответствуют критериям, блокируются при слиянии, поэтому новые качества или покрытия задолженности не накапливаются.
- Администратору требуется видимость в репозиториях для аудита или отчетов о соответствии. Code Quality отчеты через обзор безопасности вместе с инструментами безопасности, чтобы они могли видеть качество состояния в организации на первый взгляд, определить, какие репозитории нуждаются в внимание, и отслеживать метрики улучшения с помощью стандартных GitHub средств контроля аудита и политик.
Доступность и выставление счетов
Затраты на использование определяются следующими:
- Плата за лицензию на место на основе активных фиксаций.
- Copilot-powered autofixes for результаты в запросах на вытягивание и в ветви по умолчанию, наряду с обнаружением на основе искусственного интеллекта в недавно объединенном коде, который использует (не GitHub AI Credits требуется Copilot лицензии).
- GitHub Actions минут для детерминированных CodeQL проверок, если вы не используете автономные модули выполнения.
Дополнительные функции, такие как делегирование работы Copilotпо исправлению качества кода, требуют Copilot лицензии.
Дополнительные сведения см. в разделе GitHub Code Quality Биллинг.
Поддерживаемые языки
Code Quality выполняет анализ на основе правил следующих языков с использованием CodeQL:
- C#
- Go
- Ява
- JavaScript
- Питон
- Руби
- Машинописный текст
Code Quality также выполняет анализ на основе искусственного интеллекта в недавно измененном коде репозитория, включая языки за пределами языков, поддерживаемых запросами на основе правил.
Дальнейшие действия
- Узнайте, как исправить результаты качества кода в запросе на вытягивание. См . раздел AUTOTITLE.