Skip to main content

Повышение качества кода репозитория

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

Кто может использовать эту функцию?

Пользователи с доступом на запись

GitHub Team или GitHub Enterprise Cloud

Примечание.

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

Введение

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

Предпосылки

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

1. Оцените общую работоспособность кода репозитория

  1. Перейдите на вкладку "Безопасность" вашего репозитория, затем в разделе " Качество кода" нажмите Стандартные выводы.

  2. Обзор на панели управления "Стандартные выводы" дает вам немедленную оценку состояния вашей ветви по умолчанию на сегодняшний день:

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

    Скриншот оценок качества кода в виде "Стандартные выводы" для Code Quality.

2. Определите и приоритизируйте наиболее значимые результаты

В представлении "Стандартные выводы" вы увидите список результатов ".](/assets/images/help/code-quality/standard-findings-filters.png)

Чтобы повысить удобство обслуживания или надежность репозитория, необходимо устранить (исправить или отклонить) все результаты с самым высоким уровнем серьезности для этой метрики.

Например, чтобы улучшить метрику "Надежность" репозитория с "Требуется улучшение " до "Удовлетворительно", необходимо рассмотреть и устранить все обнаруженные ошибки на уровне ошибок, влияющие на надежность. Если у вас есть одна или несколько обнаруженных ошибок на уровне ошибки, ваш рейтинг не может быть выше «Требует улучшения». См . раздел AUTOTITLE.

3. Изучите группу выводов и поймите контекст

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

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

    Скриншот, показывающий правило в виде "Стандартные выводы". Название правила выделено темно-оранжевым цветом.

  2.        **Нажмите Показать больше**, затем ознакомьтесь с объяснением правила, рекомендуемым исправлением, примерами вспомогательного кода и ссылками.
    

    Скриншот, показывающий результаты для правила качества кода. Текст «Показать еще» выделен темно-оранжевым цветом.

4. Выберите варианты исправления

Оцените все выделенные выводы на предмет достоверности, влияния и риска. Чтобы повысить свой рейтинг качества, вам необходимо устранить каждую находку, либо исправить ее, либо отклонить.

Создание автоисправления

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

  1. Справа от отдельной находки нажмите Generate fix.

  2. Внимательно просмотрите различия предложенного изменения и, если вы согласны с ним, нажмите кнопку Открыть запрос на вытягивание.

  3. В диалоговом окне "Зафиксировать автоисправление в ветвь" выберите "Открыть запрос на вытягивание", затем нажмите Зафиксировать изменение.

    Совет

    В настоящее время невозможно создать автоматические исправления для группы находок в массовом порядке.

    Если вы хотите устранить несколько находок с помощью одного запроса на вытягивание, повторите шаги 1 и 2 выше, затем в диалоговом окне "Зафиксировать автоисправление в ветвь" используйте имя ветви, которое вы уже создали для первого автоисправления, затем выберите "Открыть запрос на вытягивание" и зафиксируйте изменение.

    Исправление будет добавлено в существующий черновик запроса на вытягивание для вашей ветви.

  4. Когда вы будете готовы, измените статус запроса на вытягивание с «Черновик» на «Готов к проверке» и внимательно изучите предложенные изменения. Дождитесь завершения и прохождения всех проверок CI и автоматических тестов, прежде чем объединять запрос на вытягивание.

Отклонение результата

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

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

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

  1. Чтобы закрыть находку, нажмите .
  2. Находка исчезнет из списка открытых находок. Вы по-прежнему можете просмотреть и повторно открыть отклоненные результаты на вкладке «Отклоненные» в верхней части страницы.

5. Измеряйте улучшения и сообщайте о влиянии

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

Сообщая заинтересованным сторонам о своем влиянии, подчеркните:

  • Любое уменьшение количества результатов для «Надежности» или «Ремонтопригодности».
  • Любые изменения в рейтинге надежности или ремонтопригодности.
  • Требования, которые были выполнены для достижения изменения рейтинга. Например, исправление всех обнаруженных результатов на уровне "Предупреждение" привело к изменению рейтинга с "Удовлетворительно" на "Хорошо".

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

6. Применение стандартов качества кода для запросов на вытягивание

Если вы еще этого не сделали, настройте пороговые значения качества для запросов на вытягивание, чтобы заблокировать любые изменения в базе кода, которые могут снизить работоспособность базы кода. См . раздел AUTOTITLE.

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