avl (avl) wrote,
avl
avl

Category:

68. Помещайте все в систему контроля версий

Да, давно я что-то ничего не переводил... Самое страшное для регулярности - это нарушить ее в первый раз :)

Но все же надо закончить серию :) Итак, в оригинале Put Everything Under Version Control

Помещайте все, что относится к вашему проекту, в систему контроля версий. Все, что вам для этого нужно, это:

  • бесплатные инструменты (SVN, Git, Mercurial, СМЫ)
  • достаточное количества места на диске
  • недорогой производительный сервер
  • доступ к сети


Или же, как вариант, можно воспользоваться сервисом хостинга проектов.

После того, как вы установите систему контроля версий себе на компьютер, все, что нужно сделать, чтобы поместить ваш проект в репозиторий – это выполнить определенную команду в папке, содержащей «чистый» проект. Вам нужно будет выучить лишь две новых операции – коммит (помещение изменения в репозиторий) и апдейт (забирание последних изменений из репозитория в свою рабочую копию).


Как только ваш проект помещен в систему контроля версий, вы можете легко отслеживать его историю, видеть, кто что написал, а также ссылаться на любую версию любого файла проекта. Но что гораздо важнее, вы теперь смело можете вносить изменения! Никакого кода, закомментированного на случай того, что он понадобится в будущем – он отлично сохранится в предыдущей версии в репозитории. Вы можете (и должны) помечать релизы тегами с читаемыми именами, чтобы в будущем иметь возможность быстро получить точно такую же версию, которая стоит у вашего клиента. Вы можете создавать ветви параллельной разрабоки – большинство проектов имеют главную ветку и одну или более веток для поддержки старых версий, имеющихся у клиентов.

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

Помещая проект в систему контроля версий, не старайтесь сэкономить – помещайте туда все, что можно. Кроме исходных кодов, добавьте документацию, инструментарий, скрипты сборки, тестовые сценарии и библиотеки. Помещение всего проекта в (регулярно резервнокопирующийся) репозиторий значительно снижает риск потери данных из-за отказа вашего жесткого диска. А установка среды разработки на новом рабочем месте превращается в простое извлечение всего проекта из репозитория. Это облегчает сборку и тестирование кода на разных платформах – на любом компьютере команда «апдейт» обеспечит вам последнюю версию проекта.

После первого знакомства с красотой работы с системой контроля версий следование нескольким простым правилам еще более повысит эффективность вашей команды:

  • Помещайте отдельно каждое логически законченное изменение. Сваливание нескольких изменений в один коммит усложнит вычленение отдельного изменения в дальнейшем. Особенно в случае проведения серьезного рефакторинга или изменения стиля – они легко могут скрыть другие изменения.
  • Сопровождайте каждый коммит поясняющим сообщением. Как минимум, кратко опишите, что вы сделали, но если у вас есть какие-либо пояснения к сделанному, то комментарий к коммиту – лучшее для них место.
  • И наконец, избегайте помещать в репозиторий код, «ломающий» сборку, в противном случае вы быстро станете непопулярными среди ваших коллег.

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

Автор оригинала - Diomidis Spinellis

Перевод мой, при использовании ссылка на мой живой журнал обязательна!
Tags: 97_things_programmer_should_know
Subscribe

  • Тест на способность доводить до конца пройден!

    Сегодня закончил переводить серию "97 вещей для программиста"! Вот здесь - три последних перевода: 95. Пишите тесты для людей - еще одна статья о…

  • Еще три перевода

    92. Когда программисты и тестеры объединяются - о том, что объединяться для общей цели всегда выгодно. 93. Пишите код так, как будто вы будете…

  • Еще четыре перевода

    88. Юникс-утилиты - это ваши друзья - название говорит само за себя :) 89. Используйте правильные алгоритмы и структуры данных - интересная и…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 0 comments