Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: Научного журнала «Студенческий» № 3(215)

Рубрика журнала: Информационные технологии

Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3, скачать журнал часть 4, скачать журнал часть 5

Библиографическое описание:
Королёв А.С. АВТОМАТИЧЕСКОЕ НАЗНАЧЕНИЕ РЕВЬЮВЕРОВ. ОБЗОР АНАЛОГОВ И ПОСТАНОВКА ЗАДАЧИ // Студенческий: электрон. научн. журн. 2023. № 3(215). URL: https://sibac.info/journal/student/215/278915 (дата обращения: 24.12.2024).

АВТОМАТИЧЕСКОЕ НАЗНАЧЕНИЕ РЕВЬЮВЕРОВ. ОБЗОР АНАЛОГОВ И ПОСТАНОВКА ЗАДАЧИ

Королёв Александр Сергеевич

студент, информатика и вычислительная техника, Уральский федеральный университет имени первого Президента России Б. Н. Ельцина,

РФ, г. Екатеринбург

Харисов Азамат Робертович

научный руководитель,

канд. техн. наук, доц., Уральский федеральный университет имени первого Президента России Б. Н. Ельцина,

РФ, г. Екатеринбург

AUTOMATIC ASSIGNMENT OF REVIEWERS. OVERVIEW OF ANALOGS AND PROBLEM STATEMENT

 

Aleksandr Korolev

student, computer science and computer engineering, Ural Federal University named after the first President of Russia B. N. Yeltsin,

Russia, Yekaterinburg

Azamat Kharisov

scientific supervisor, candidate of technical sciences, associate professor, Ural Federal University named after the First President of Russia B. N. Yeltsin,

Russia, Yekaterinburg

 

АННОТАЦИЯ

В статье рассматривается проблема автоматического распределения ревьюверов для Merge Request в GitLab. Предлагается решение на основе сервиса, который использует webhooks для взаимодействия с GitLab и бота в Slack для управления. Рассматриваются различные параметры, учитываемые при выборе ревьювера, включая опыт в изменяемой области, отпуск и загруженность. Также производится сравнение существующих инструментов для автоматического распределения ревьюверов с предложенным решением.

ABSTRACT

The article deals with the problem of automatic distribution of reviewers for Merge Request in GitLab. A solution is proposed based on a service that uses webhooks to interact with GitLab and a bot in Slack for management. Various parameters taken into account when choosing a reviewer are considered, including experience in the field being changed, vacation and workload. The existing tools for automatic distribution of reviewers are also compared with the proposed solution.

 

Ключевые слова: ревьювер; распределение задач; автоматизация.

Keywords: reviewer; distribution of tasks; automation.

 

Введение

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

Предметная область

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

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

Обзор Аналогов

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

• Gerrit: Это инструмент управления исходным кодом, который специализируется на ревью кода и имеет встроенную функцию автоматического назначения ревьюверов. Он имеет мощный механизм сортировки и фильтрации, который позволяет автоматически назначать ревьюверов, основываясь на соответствии с определенными критериями, такими как опыт в определенной области или наличие свободного времени.

• Crucible: это инструмент ревью кода, который предоставляет возможность автоматического назначения ревьюверов, а также предоставляет мощные инструменты для управления и отслеживания процесса ревью. Он также позволяет просматривать историю комментариев и изменений, чтобы обеспечить согласованность и эффективность процесса ревью.

• Review Board: это инструмент для управления ревью кода, который позволяет автоматически назначать ревьюверов и обеспечивает интуитивный интерфейс для редактирования и одобрения изменений. Он поддерживает множество систем управления версиями и имеет мощные инструменты для совместной работы и согласования.

Все эти инструменты имеют свои собственные функциональности и особенности, которые их отличают от GitLab. Например, Gerrit имеет мощные функции для совместной работы и согласования, а Review Board имеет интуитивный интерфейс для редактирования и одобрения изменений. Тем не менее, GitLab имеет более широкий функционал, включая поддержку инструментов разработки, управления задачами и сборки, а также интеграцию с другими инструментами и сервисами. В зависимости от конкретных потребностей и предпочтений, каждый из этих инструментов может быть более подходящим для решения конкретной задачи автоматического назначения ревьюверов.

Заключение

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

 

Список литературы:

  1. «Gerrit Code Review»: краткое руководство с картинками [Электронный ресурс] // Хабр: сайт – URL: https://habr.com/ru/company/badoo/blog/147508/ (дата обращения: 10.01.2023)
  2. Crucible – инструмент проверки кода для Git, SVN, Perforce и не только [Электронный ресурс] // Atlassian: сайт – URL: https://www.atlassian.com/ru/software/crucible (дата обращения: 12.01.2023)
  3. Review Board + Mercurial — опыт внедрения и автоматизации процесса code review [Электронный ресурс] // Хабр: сайт – URL: https://habr.com/ru/post/187058/ (дата обращения: 13.01.2023)

Оставить комментарий