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

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

При наличии нескольких команд, одновременно работающих над одним исходным кодом, нам неизбежно придется иметь дело с параллельными ветками кода в системе SCM (software configuration management). Есть много книг и статей, рассказывающих, как обеспечить одновременную работу с кодом для нескольких людей, поэтому я не буду вдаваться в детали. Вряд ли мне удастся добавить что-то новое. Однако я хотел бы вкратце поделиться наработками нашей команды:

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

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

• Создавайте новые ветки кода только тогда, когда это действительно необходимо. Хорошим практическим правилом будет создание новой ветки только при условии, если вы вынуждены нарушать стратегию использования текущий ветки. Если у вас есть сомнения, то не делайте ветвлений. Почему? Потому что каждое ветвление требует дополнительной работы и последующей поддержки.

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

• Чаще синхронизируйтесь. Если вы работаете в отдельной ветке, синхронизируйтесь каждый раз, когда вы хотите что-либо построить. Каждый день, когда вы начинаете работу, синхронизируйтесь с главной ветвью разработки, так чтобы ваша ветка была в адекватном состоянии и учитывала все изменения, сделанные другими группами. Даже если это приведет к кошмару слияния (merge-hell), учтите, что все могло бы быть еще хуже, если бы вы затянули слияние.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

Параллельная сборка

Из книги автора

Параллельная сборка Программа make(1) предоставляет возможность разбить процесс сборки на несколько заданий. Каждое из этих заданий выполняется отдельно от остальных и параллельно с остальными, существенно ускоряя процесс сборки на многопроцессорных системах. Это также


Проекты с открытым кодом

Из книги автора

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


Управление исходным кодом

Из книги автора

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


Параллельная обработка

Из книги автора

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


Параллельная загрузка "зеркал" с разных сервисов

Из книги автора

Параллельная загрузка "зеркал" с разных сервисов Чуть выше описанный прием поиска веб-страниц со ссылками на файл на других файлообменных сервисах может быть полезен вот еще в чем. Допустим, вы нашли веб-сайт, на котором части архива с дистрибутивом Fedora 2010, кроме сервиса


12.1. Программы с открытым кодом

Из книги автора

12.1. Программы с открытым кодом Для обеспечения большей анонимности вы должны использовать программы с открытым исходным кодом (так называемые OpenSource-программы). Исходный код таких программ свободно доступен на сайтах разработчиков программ.Возникает вопрос: почему


Параллельная RC-цепь

Из книги автора

Параллельная RC-цепь На рис. 2.7 приведена схема с параллельной RC-цепью. Значения элементов этой схемы: I=100?0° мА; R=8,33 Ом; С=14,14 мкФ и f=500 Гц. Рис. 2.7. Схема с параллельной RC-цепьюПеред тем как провести моделирование на PSpice, рассчитайте полную проводимость RC-цепи. Она задается


Параллельная обратная связь по току в двухкаскадном усилителе с общим эмиттером

Из книги автора

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


1.5.1. Программное обеспечение с открытым исходным кодом

Из книги автора

1.5.1. Программное обеспечение с открытым исходным кодом Несмотря на то, что понятия "открытый исходный код" (open source) и "определение открытого исходного кода" (open source definition) были сформулированы в 1998 году, коллективная разработка свободно распространяемого исходного кода была


16.4. Оценка проектов с открытым исходным кодом

Из книги автора

16.4. Оценка проектов с открытым исходным кодом В Internet доступны для использования буквально терабайты исходных кодов для системных и прикладных Unix-программ, служебных библиотек, GUI-инстру-ментариев и аппаратных драйверов. Большинство из них с помощью


16.4. Оценка проектов с открытым исходным кодом

Из книги автора

16.4. Оценка проектов с открытым исходным кодом В Internet доступны для использования буквально терабайты исходных кодов для системных и прикладных Unix-программ, служебных библиотек, GUI-инструментариев и аппаратных драйверов. Большинство из них с помощью стандартных


2.2.5 Параллельная обработка запросов

Из книги автора

2.2.5 Параллельная обработка запросов Параллельная обработка запросов (Parallel Data Query, PDQ) - это технология, которая позволяет распределить обработку одного сложного запроса на несколько процессоров, мобилизовать для его выполнения максимально доступные системные ресурсы,


Управление вашим кодом

Из книги автора

Управление вашим кодом Учитывая, что языком высокого уровня для программирования на стороне сервера в Firebird является язык SQL и что исходный код представляется серверу в форме "супероператоров" DDL для компиляции в объекты базы данных, не удивительно, что вся поддержка кодов


АНАЛИЗЫ: Параллельная реальность Wal-Mart

Из книги автора

АНАЛИЗЫ: Параллельная реальность Wal-Mart Автор: Киви БердОпубликованный в прошлом месяце список Fortune 500 (2007), регулярно ранжирующий полтысячи наиболее успешных американских компаний, возглавляет гигантская сеть магазинов розничной торговли Wal-Mart Stores Inc., по доходам (примерно