Помещайте все в систему контроля версий
(в оригинале Put Everything Under Version Control)
Помещайте все, что относится к вашему проекту, в систему контроля версий. Все, что вам для этого нужно, это: бесплатные инструменты, такие как SVN, Git, Mercurial и CVS; достаточное количества места на диске; недорогой производительный сервер; доступ к сети; или же, как вариант, можно воспользоваться сервисом хостинга проектов.
После того, как вы установите систему контроля версий себе на компьютер, все, что нужно сделать, чтобы поместить ваш проект в репозиторий – это выполнить определенную команду в папке, содержащей «чистый» проект. Вам нужно будет выучить лишь две новых операции – коммит (помещение изменения в репозиторий) и апдейт (забирание последних изменений из репозитория в свою рабочую копию).
Как только ваш проект помещен в систему контроля версий, вы можете легко отслеживать его историю, видеть, кто что написал, а также ссылаться на любую версию любого файла проекта. Но что гораздо важнее, вы теперь смело можете вносить изменения! Никакого кода, закомментированного на случай того, что он понадобится в будущем – он отлично сохранится в предыдущей версии в репозитории. Вы можете (и должны) помечать релизы тегами с читаемыми именами, чтобы в будущем иметь возможность быстро получить точно такую же версию, которая стоит у вашего клиента. Вы можете создавать ветви параллельной разрабоки – большинство проектов имеют главную ветку и одну или более веток для поддержки старых версий, имеющихся у клиентов.
Система контроля версий минимизирует количество «трения» между разработчиками. Когда программисты работают над разными частями проекта, интеграция происходит просто волшебным образом. Если же их работа пересекается, система это обнаруживает и позволяет вручную решить возникшие конфликты. При дополнительных настройках система может информировать всех участников о каждом сделанном коммите, способствуя общему видению прогресса.
Помещая проект в систему контроля версий, не старайтесь сэкономить – помещайте туда все, что можно. Кроме исходных кодов, добавьте документацию, инструментарий, скрипты сборки, тестовые сценарии и библиотеки. Помещение всего проекта в (регулярно резервнокопирующийся) репозиторий значительно снижает риск потери данных из-за отказа вашего жесткого диска. А установка среды разработки на новом рабочем месте превращается в простое извлечение всего проекта из репозитория. Это облегчает сборку и тестирование кода на разных платформах – на любом компьютере команда «апдейт» обеспечит вам последнюю версию проекта.
После первого знакомства с красотой работы с системой контроля версий следование нескольким простым правилам еще более повысит эффективность вашей команды:
- Помещайте отдельно каждое логически законченное изменение. Сваливание нескольких изменений в один коммит усложнит вычленение отдельного изменения в дальнейшем. Особенно в случае проведения серьезного рефакторинга или изменения стиля – они легко могут скрыть другие изменения.
- Сопровождайте каждый коммит поясняющим сообщением. Как минимум, кратко опишите, что вы сделали, но если у вас есть какие-либо пояснения к сделанному, то комментарий к коммиту – лучшее для них место.
- И наконец, избегайте помещать в репозиторий код, «ломающий» сборку, в противном случае вы быстро станете непопулярными среди ваших коллег.
Жизнь с использованием систем контроля версий слишком хороша, чтобы ее разрушать неправильными действиями.
Автор оригинала - Diomidis Spinellis