03.08.2021 17:14:00 IT директору 

1С:EDT и Git: новые возможности командной разработки

Мы уже рассказывали о том, что используем фреймворк Scrum в разработке программных продуктов. Описывали инструменты и технологии, которые применяют Scrum-команды «Компании КомЛайн». В этой статье мы рассмотрим возможности совместной работы в 1С:EDT и Git.

1С:EDT – современная среда разработки, созданная на основе Eclipse, одним из главных достоинств которой является работа с распределенной системой контроля версий Git. Это самостоятельное приложение, которое устанавливается отдельно от платформы.

У 1C:EDT, по сравнению с привычным для разработчиков на языке 1С конфигуратором, есть ряд преимуществ. Отметим только некоторые из них.

1. Несколько проектов - одно рабочее пространство. Представим ситуацию: вы разрабатываете мобильное приложение (это первый проект) и веб-сервис для него в основной базе (второй проект) или же реализуете обмен между двумя конфигурациями. При использовании конфигуратора для работы с каждым проектом вам пришлось бы запустить свой конфигуратор. Это неудобно, одновременно открыто несколько окон, и нужно выполнять дополнительные действия, например, идентифицировать базу, конфигуратор которой открыт. В случае с 1С:EDT, у вас открыто единственное окно, в котором импортированные проекты отображаются в одном дереве метаданных.

1С:EDT. Несколько проектов - одно рабочее пространство

2. Встроенные инструменты, например, сервер Apache. В конфигураторе для использования веб-сервисов его необходимо устанавливать отдельно, что требует времени. В 1С:EDT вы видите опубликованные веб-сервисы в самой среде разработки, а не в отдельном окне администрирования веб-сервера.

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

В 1С:EDT, меняя конфигурацию или получая из репозитория чьи-то доработки, вы видите ошибки и возможные неполадки

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

В модулях и дереве метаданных в 1С:EDT ошибки и предупреждения визуально подсвечиваются

В конфигураторе же это реализовано в весьма ограниченном виде и контролируется только при попытке обновить конфигурацию.

4. Контекст рабочего пространства. При закрытии окна 1С:EDT весь контекст сохраняется. Так что при следующем запуске приложения открываются те же самые вкладки, которыми вы пользовались до закрытия.

Но главное преимущество 1C:EDT - это возможность групповой разработки с помощью децентрализованной системы контроля версий Git.

Работа с хранилищем в случае конфигуратора понятна и проста. Но она накладывает ряд ограничений, таких как, например, невозможность редактировать один и тот же модуль одновременно двумя разработчиками. Git, напротив, заточен для командной работы. Тот же самый модуль в 1С:EDT могут разрабатывать сразу несколько программистов: каждый - например, отдельную функцию, а затем автоматически объединить результаты.

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

1С:EDT есть возможность организовать совместную разработку вместе с теми программистами, которые работают в конфигураторе. Для этого им достаточно зайти в 1С:EDT и импортировать изменения из базы, которая используется для разработки - среда сама предложит это сделать. Это важно, учитывая, что часто переход на новую среду разработки в компаниях происходит постепенно.

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

Жизненный цикл разработки в Git в простейшем виде, когда задачу решают 2-3 человека, выглядит так.

Есть master-ветка - основная ветка. Именно здесь хранится версия конфигурации, готовая к производственной эксплуатации. Все, что находится в этой ветке, должно работать точно и быть протестированным.

Предположим, программисты работают над созданием мобильного приложения. Для того чтобы приложение не переставало работать при потере связи с интернетом, необходимо разработать специальную фичу. В этом случае создается копия master-ветки - feature-ветка, в которой будет вестись вся разработка.

Завершив разработку фичи и полностью ее протестировав, программисты сливают feature-ветку с master-веткой, то есть отправляют изменения кода в master.

1С:EDT. История внесения изменений в репозиторий

При слиянии веток 1С:EDT сравнивает конфигурации. Если есть конфликты, которые система сама не может разрешить (например, разработчики написали противоречащий друг другу код, который система не может понять), 1C:EDT откроет редактор сравнения и объединения. В этом редакторе разработчик сам выбирает, какие доработки оставить, а какие - нет.

Подобный процесс разработки приемлем, когда в команде - 2-3 человека. Но когда она расширяется, появляется необходимость в правилах внесения изменений. Соблюдение этих правил позволит не допустить путаницы или возникновения ситуаций, когда один программист ломает наработки другого.

Подытоживая, можно сказать, что среда 1С:EDT благодаря интеграции с системой контроля версий Git предоставляет большие, по сравнению с конфигуратором, возможности. Командная разработка становится проще, время программистов используется эффективнее, хранение рабочих версий приложений и версий, в которых создаются отдельные функциональные возможности - удобнее.

Продолжение следует. Следите за нашими публикациями.

(0)
Давайте сотрудничать Введите e-mail и/или телефон
Captcha

Введенная капча неверна

Согласие на обработку персональных данных обязательно
Это поле необходимо заполнить Заполните телефон либо e-mail

Спасибо! Ваша заявка отправлена

В ближайшее время мы с Вами свяжемся!

Капча введена не верно


Мы используем файлы cookie для обработки ваших персональных данных