Слияние в контроле версий как критерий полезности работы

2 Сен
2011

Контроль версий исходного кода необходим как сохранение в играх. Без сохранения в играх нельзя ни прерваться, ни вернуться в прошлое. Без контроля версий невозможно вернуться в прошлое. Помимо возможности возврата к предыдущему состоянию контроль версий позволяет объединять усилия нескольких участников, вносящих изменения. Предполагалось, что дальше я напишу вводную статейку по работе с одним из средств контроля версий, но…

Автор изображения: John Woolley Источник изображения: статья DVCS and DAGs
Вернёмся к тематике игр. Представьте, что Вы и ваш друг Загружаетесь в игре в одно и то же сохранение. Допустим сохранение это хранится на серверах StayPlaytion© и вы «расшарили» другу своё сохранение. Игра в которую вы играете относится к классу стратегий. Вам необходимо завоёвывать террийтории, прокачивать юнитов, прокачивать постройки и т.д. Сохраняться можно только в момент, когда все юниты находятся в бараках.
Вы с вашим другом достигаете невероятных успехов каждый у себя дома. Доходите до сохранения. Теперь посмотрим, что может получиться, если вы захотите слить ваши сохранения в одно. Да почему бы и нет? Он развивался в одном направлении, вы в другом — давайте объединим результаты?
В вашей игровой системе находится пункт слияния сохранений, некогда имели общего предка (родительское сохранение). Выбираем оба сохранения и тут! Бац!
Необходимо уладить несколько конфликтов:
  • Вы и ваш товарищ построили новые здания на пересекающихся участках земли. Необходимо оставить одно из зданий, а второе переместить на один из соседних участков.
  • Вы и ваш товарищ завоевали пересекающиеся наборы вражеских территорий. Завоеванные территории будут автоматически объединены.
  • Вы и ваш товарищ в сумме потратили ресурсов больше чем имелось в родительском сохранении. Необходимо ввести деньги в систему и оплатить избыточные покупки))

Что-то не вяжется, не так ли? Абсолютно не соблюдается балланс сил. В приведенном примере повсюду дыры и похоже он не выдерживает никакой критики. Этим и отличаются игры от работы/занятий. Их даже версионировать нормально нельзя. Возможно я привел неудачный пример. А возможно я сейчас сформулировал один из критериев, отличающих развлечение от полезной работы.
Иными словами, если к вашему занятию применим контроль версий — вы занимаетесь плодотворным делом. Если контроль версий не применим — это развлечение/увлечение.
По материалам Хабрахабр.



загрузка...

Комментарии:

Наверх