Руководство вдохновлено GitHub в сборнике схем успешного выполнения инженерных систем (ESSP), который рекомендует стратегии и метрики для улучшения инженерных систем.
Если вы начинаете развертывание Copilot, мы рекомендуем определить свои цели, планировать развертывание соответствующим образом и четко взаимодействовать с целями сотрудниками. См . раздел AUTOTITLE.
1. Определение препятствий для успеха
Первым шагом, рекомендованным ESSP, является разработка четкого понимания препятствий, которые препятствуют улучшению в вашей компании. Понимая текущие базовые показатели, требуемое состояние будущего и барьеры, которые препятствуют прогрессу, можно гарантировать, что изменения предназначены и эффективны.
Команды часто испытывают задержки при слиянии запросов на вытягивание из-за длительных циклов проверки. Эти задержки часто возникают из следующих:
- Сложные изменения кода, которые трудно понять
- Несогласованный формат кода, который делает проверки сложными
- Общее отсутствие контекста, предоставленного изменениями
- Социальные факторы, которые способствуют медленным или сложным проверкам
Рецензенты также могут легко пропустить небольшие ошибки, которые могут привести к проблемам рабочей среды.
Это приводит к узким местам в процессе разработки и замедляет общую доставку и качество функций.
2. Оценка параметров
Следующим шагом является оценка и согласование решений по устранению барьеров, которые вы определили на шаге один. В этом руководстве мы сосредоточимся на влиянии GitHub Copilot на цель, которую вы определили. Помните, что успешные развертывания нового инструмента также требуют изменений в культуре и процессах.
Вы будете запускать пробные версии новых средств и процессов с пилотными группами для сбора отзывов и оценки успеха. Для обучения ресурсов и метрик, используемых во время пробных версий, можно посмотреть на 3. Реализуйте изменения и метрики для просмотра разделов.
Как помочь Copilot
GitHub Copilot предлагает набор функций, предназначенных для ускорения процесса проверка запроса на вытягивание, повышения качества кода и улучшения совместной работы, что в конечном счете приводит к более быстрому слиянию.
Используя возможности Copilot, команды могут оптимизировать рабочие процессы, уменьшить трение и обеспечить согласованный, высококачественный код.
Создает полные и полезные сводки pr
Copilot может автоматически создавать четкие и краткие сводки pr, экономя время разработчиков и гарантируя, что цель и изменения PR легко понимаются рецензентами. Это снижает вероятность недоразумений и ускоряет процесс проверки.
Помогает рецензентам во время их проверки
GitHub Copilot можно использовать в качестве мощного компаньона проверки pr.
- Copilot может помочь объяснить сложные изменения кода, чтобы рецензенты быстрее понимали, что способствует pr.
- Copilot может предоставлять предложения с учетом контекста и потенциальные улучшения кода непосредственно в интерфейсе проверка запроса на вытягивание на GitHub, помогая рецензентам перехватывать потенциальные проблемы и предлагать конструктивные отзывы более эффективно.
- Copilot может помочь рецензентам черновики и записи четких, согласованных и эффективных комментариев проверки.
Проверки на основе рекомендаций организации
- Copilot может просматривать изменения кода в интегрированной среде разработки перед открытием запроса на вытягивание или назначаться в качестве рецензента запросу на вытягивание.
- С помощью наборов правил можно настроить Copilot для систематического просмотра запросов на вытягивание на основе пользовательских критериев.
- С помощью рекомендаций по написанию кода для проверок (только Copilot Enterprise Copilot может применять стандарты и рекомендации по программированию организации, автоматически помечая потенциальные нарушения и предлагая исправления.
Эти функции обеспечивают согласованность в базе кода и помогают перехватывать ошибки в начале процесса разработки, уменьшая потребность в проверке кода вручную и экономии времени для разработчиков и рецензентов.
Предлагает исправления кода
На основе комментария проверка запроса на вытягивание Copilot может помочь авторам запросов на вытягивание быстро реализовать необходимые изменения кода для разрешения проверки.
Вопросы культуры
Наряду с развертыванием GitHub Copilot, вы также должны решить любые социальные или культурные факторы, которые могут препятствовать достижению ваших целей.
Ниже приведены примеры из раздела "Антишаблоны" в ESSP.
- Teams может ждать слишком долгого выпуска, развертывая большие пакеты кода одновременно. Это может быть вызвано страхом дестабилизации с частыми выпусками, отсутствием зрелости конвейера CI/CD или строгими требованиями к соответствию.
- Разработчики могут тратить слишком долгое время на усовершенствование кода или добавление ненужных функций. Это может быть вызвано культурой перфекционизма или отсутствием эффективной приоритетности.
- Разработчики могут создавать слишком сложные решения для простых проблем. Это может быть вызвано желанием будущего доказательства ненужным образом или давлением, чтобы добавить ценность через сложность.
3. Реализация изменений
Когда вы определили правильный подход для преодоления барьеров, вы будете масштабировать определенные решения. Для успешного развертывания нового инструмента или процесса важно назначить владение каждой части развертывания, прозрачно взаимодействовать с вашими целями, предоставлять эффективную подготовку и измерять результаты.
В этом разделе приведены примеры сценариев, рекомендаций и ресурсов для разработчиков. Мы рекомендуем использовать этот раздел для планирования коммуникаций и учебных занятий , чтобы помочь сотрудникам использовать Copilot таким образом, чтобы соответствовать вашей цели.
- Создание полезных сводок запроса на вытягивание
- Использование Copilot в качестве помощника по проверке
- Добавление Copilot в качестве рецензента
- Получение справки по реализации комментариев проверки
- Рекомендации для разработчиков
- Ресурсы
Создание полезных сводок запроса на вытягивание
- При создании запроса на вытягивание щелкните значок Copilot в поле "Добавить описание", а затем нажмите кнопку "Сводка".
- Copilot сканирует запрос на вытягивание и предоставляет обзор изменений, внесенных в прозе, а также маркированный список изменений с файлами, которые они влияют.
- Проверьте, что вы довольны описанием Copilot.
- Когда рецензенты приходят к запросу на вытягивание, они будут иметь весь контекст, который им нужно оставить отзыв.
Использование Copilot в качестве помощника по проверке
При переходе к запросу на вытягивание в качестве рецензента можно использовать Copilot для ускорения проверки.
-
Используйте Copilot для понимания изменений в запросе на вытягивание.
-
Попросите Copilot суммировать изменения, внесенные в файл, особенно полезно для более длинных диффов. Вы можете выбрать определенный файл из диффа, щелкнув в правом верхнем углу файла.
-
Для изменений в определенных строках выделите строки, которые нужно лучше понять и попросить Copilot объяснить изменения. Вы можете выделить набор строк, щелкнув самый верхний номер строки, удерживая клавишу SHIFT, а затем щелкнув самую нижнюю линию диффа.
-
-
Совместная работа с проверкой pr с помощью Copilot. Не забудьте подключить к беседе определенные диффы файла, прежде чем запрашивать Copilot.
-
Вы можете попросить Copilot для собственного мнения об изменениях PR, запросив:
Provide your judgement as a PR Reviewer, both for functional and non-functional aspects that these changes bring
Обратите внимание, что в этом запросе Copilot следует учитывать как функциональные, так и нефункциональный аспекты кода. -
Для собственных комментариев к обзору PR попросите Copilot для второго мнения:
As my peer reviewer on this pull request, give me your feedback on my own review: YOUR-REVIEW-COMMENT. Do you think it's pertinent? Am I missing something?
-
-
Совместная работа с Copilot для создания и уточнения комментариев к обзору.
- После планирования проверки с помощью Copilotможно попросить указать комментарии, которые следует предоставить:
Make a list of review comments to add to the PR and tell me exactly in which file diff and lines each comment should be added
- Вы также можете попросить Copilot создать первый черновик комментария проверки, который вы имеете в виду или уточнить комментарий перед публикацией:
Help me draft review comments as discussed
илиRefine this review comment to make it clear, concise, and actionable
.
- После планирования проверки с помощью Copilotможно попросить указать комментарии, которые следует предоставить:
Добавление Copilot в качестве рецензента
Чтобы сократить время проверки и быстрее объединить запросы на вытягивание, используйте систематические проверки кода Copilot: сначала в интегрированной среде разработки перед открытием запроса на вытягивание, а затем на pr в GitHub.
Использование проверки кода Copilot не заменяет необходимость проверки кода человека. Однако, следуя приведенным выше инструкциям, люди могут быстрее завершить свои отзывы.
- Разработчики должны запросить проверку всех изменений с помощью проверки кода Copilot перед открытием запроса на вытягивание.
- Администраторы должны настроить наборы правил репозитория или организации, чтобы автоматически добавлять Copilot в качестве рецензента в любой запрос на вытягивание, предназначенный для защищенная ветвь.
- Руководитель группы должен записать стандартный стиль и правила своей команды и задать их в качестве рекомендаций по написанию кода для организации, чтобы Copilot могли использовать их в проверках.
- Убедитесь, что рекомендации по написанию кода захватывают минимальный набор рекомендаций по стилю, которые упрощают чтение кода, что поможет во время процесса проверка запроса на вытягивание.
- Чтобы уменьшить объем комментариев проверки pr из-за проблем с стили, задайте те же рекомендации в инструкциях Copilot на уровне репозитория и организации. Таким образом, код, созданный Copilot, будет соответствовать этим рекомендациям.
Получение справки по реализации комментариев проверки
Авторы запросов на вытягивание могут ускорить разрешение комментариев проверки pr, быстро реализуя исправления с помощью Copilot.
- Для любых комментариев проверки, оставленных Copilot самостоятельно, зафиксируйте предлагаемое исправление напрямую или измените его в Рабочей области Copilot перед фиксацией.
- Чтобы просмотреть комментарии, оставленные одноранговыми узлами, перейдите к файлу, связанному с комментарием проверки pr, и прикрепите дифф к беседе Copilot Chat. Затем скопируйте комментарий проверки с запросом следующим образом:
Suggest a fix for this review comment:
- Если вы используете VS Code, попросите GitHub Copilot в режиме агента реализовать необходимые изменения из комментария проверки.
Рекомендации для разработчиков
Разработчики должны:
- Отправьте запрос Copilotв интегрированной среде разработки, прежде чем отправлять запрос на перехват и устранение проблем.
- Используйте Copilot для планирования и уточнения собственных комментариев проверки PR, чтобы помочь авторам pr понять и устранить проблемы.
- Подключите соответствующий контекст диффа, включая определенные строки кода, к беседам с Copilot.
Разработчики не должны:
- Примените предложения Copilotбез тестирования.
- Полагаться исключительно на Copilot для проверок.
- Не забывайте о удобочитаемости кода.
Ресурсы
- Создание сводки запроса на вытягивание с помощью GitHub Copilot
- Использование проверки кода GitHub Copilot
- Настройка рекомендаций по написанию кода для проверки кода GitHub Copilot
- Настройка автоматической проверки кода copilot
- Добавление пользовательских инструкций организации для GitHub Copilot
Метрики для просмотра
Чтобы оценить пробные версии новых инструментов и убедиться, что полные развертывания выполняют согласованные улучшения, следует отслеживать результаты и вносить корректировки при необходимости. Как правило, мы рекомендуем рассмотреть ключевые зоны качества, скорости и счастья разработчиков, а также как эти зоны объединяются для участия в бизнес-результатах.
Ниже приведены некоторые метрики, которые мы рекомендуем оценить влияние Copilotна эту конкретную цель.
- Удовлетворенность разработчиков: используйте опросы разработчиков для оценки удовлетворенности инженерными инструментами.
- Запросы на вытягивание, объединенные на разработчика: вы можете использовать веб-перехватчик GitHub
pull request
, гарантируяaction
наличиеclosed
свойстваmerged
внутриpull request
объектаtrue
. - Время выполнения запросов на вытягивание: измеряйте среднюю продолжительность времени между созданием и слиянием.