Существует ли инструмент для Visual C ++ или другой IDE, который позволил бы более чем одному программисту (в сети) работать над одним проектом одновременно? - PullRequest
3 голосов
/ 20 февраля 2011

Так есть ли способ, которым я могу поделиться всей средой, отредактировать, скомпилировать и выполнить мой код в одном взаимном окне, когда мой друг-программист находится в 200 милях от меня?Например, я запускаю онлайн-сеанс, мой друг присоединяется к нему, и его IDE синхронизирует все настройки и файлы проекта / исходных файлов для этого сеанса с моим, поэтому мы можем одновременно работать над одним и тем же проектом в режиме реального времени через net * 1002.*.

Возможно ли это вообще?

Ответы [ 2 ]

3 голосов
/ 20 февраля 2011

Совместная разработка обычно осуществляется с помощью системы управления конфигурацией программного обеспечения или системы контроля версий, такой как Subversion, PVCS, StarTeam, MKS, SourceSafe, CVS или с помощью ряда других вариантов различной стоимости и сложности.

Обычно это работает так, что каждый разработчик извлекает код и файлы конфигурации проекта из хранилища, работает с ними локально и фиксирует изменения в хранилище, откуда другие разработчики.Это традиционно делается разработчиками, блокирующими файлы, с которыми они работают, чтобы другие разработчики не могли зафиксировать изменения, пока «владелец» не выпустит файл.Однако Subversion придерживается другой философии (хотя вы все еще можете блокировать файлы);он позволяет любому числу разработчиков одновременно вносить локальные изменения в файл, а затем использует трехстороннее объединение для объединения изменений в хранилище.Это хорошо работает, если коммуникация и управление проектом хороши, но если два разработчика решают одну и ту же проблему двумя разными способами, вы можете получить два исправления для одной и той же проблемы.Он также довольно хорошо работает с файлами проекта в формате XML, которые использует VC ++.Любой SCM будет поддерживать ветвление и объединение ветвей, поэтому вместо того, чтобы иметь общедоступный код магистрали, отдельные разработчики могут работать в ветке, и тогда каждая ветвь может периодически объединяться с кодом магистрали, когда он проверяется и утверждается.от руководителя группы.

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

Если, с другой стороны, вы, по сути, хотите, чтобы два разработчика работали вместе над одним и тем же кодом одновременно, как в «парном программировании», но географически распределенный, тогда я предлагаю вам просто использовать какой-нибудь инструмент для удаленного доступа, такой как бесплатная версия LogMeIn , которая, наряду с возможностью удаленного и одновременного управления ПК, имеет IMтип связи, хотя вы также можете использовать его в сочетании с чем-то вроде Skype с голосовой или видеосвязью, чтобы быть несколько более продуктивным.

1 голос
/ 20 февраля 2011

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

Как бы вы синхронизировали? Один из вас, человек A, начинает компилировать, но человек B продолжает редактирование. Какую версию файла, который редактирует B, использует компиляция A? Будет ли B заблокирован от редактирования только потому, что A компилируется?

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

...