T.M. SoftStudio

feci quod potui, faciant meliora potentes

Купить полную версию книги "Среда разработки Eclipse 4: Руководство разработчика"

Командная разработка кода

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

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

Примечание

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

Такой контроль изменений в исходном коде помогает осуществлять специальное программное обеспечение системы управления версиями (Version Control System или Revision Control System).

Существует большой набор систем управления версиями (СУВ), таких как CVS (Concurrent Versions System), Subversion (SVN), Git, Mercurial и др.

Системы CVS и SVN являются представителями централизованных систем управления версиями (ЦСУВ), а системы Git и Mercurial – представителями распределенных систем управления версиями (РСУВ).

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

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

Описанный в главе 1 проект Mylyn также помогает организовать командную работу над проектами, обеспечивая создание, редактирование и просмотр задач устранения багов проекта, хранимых в таких репозиториях как Bugzilla, Trac, JIRA и др.


CVS