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