3. Используйте систему контроля версий
3. Используйте систему контроля версий
Резюме
Как гласит китайская пословица, плохие чернила лучше хорошей памяти: используйте системы управления версиями. Не оставляйте файлы без присмотра на долгий срок. Проверяйте их всякий раз после того, как обновленные модули проходят тесты на работоспособность. Убедитесь, что внесенные обновления не препятствуют корректной сборке программы.
Обсуждение
Практически все нетривиальные проекты требуют командной работы и/или более недели рабочего времени. В таких проектах вы будете просто вынуждены сравнивать различные версии одного и того же файла для выяснения того, когда (и/или кем) были внесены те или иные изменения. Вы будете вынуждены контролировать и руководить внесением изменений в исходные файлы проекта.
Когда над проектом работают несколько разработчиков, они вносят изменения в проект параллельно, возможно, одновременно в разные части одного и того же файла. Вам нужен инструмент, который бы автоматизировал работу с разными версиями файлов и, в определенных случаях, позволял объединять одновременно внесенные изменения. Система управления версиями (version control system, VCS) автоматизирует все необходимые действия, причем выполняя их более быстро и корректно, чем вы бы могли сделать это вручную. И вряд ли у вас есть лишнее время на игры в администратора — у вас хватает и своей работы по разработке программного обеспечения.
Даже единственный программист нередко вынужден выяснять, как и когда в программу проникла та или иная ошибка. VCS, автоматически отслеживая историю изменений каждого файла, позволяет вам "перевести стрелки часов назад" и ответить не только на вопрос, как именно выглядел файл раньше, но и когда это было.
Не портите сборку. Код, сохраненный VCS, всегда должен успешно собираться. Огромное разнообразие инструментария данного типа не позволяет оправдать вас, если вы не используете одну из этих систем. Наиболее дешевой и популярной является CVS (см. ссылки). Это гибкий инструмент с возможностью обращения по TCP/IP, возможностью обеспечения повышенных мер безопасности (с использованием протокола ssh), возможностью администрирования с применением сценариев и даже графическим интерфейсом. Многие другие продукты VCS рассматривают CVS в качестве стандарта либо строят новую функциональность на ее основе.
Исключения
Проект, над которым работает один программист, причем не более недели, вероятно, в состоянии выжить и без применения VCS.
Ссылки
[BetterSCM] • [Brooks95] §11, §13 • [CVS]
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Вырваться из-под контроля
Вырваться из-под контроля Элемент audio можно использовать не только для злых, но и для благих целей. Дать пользователю контроль над управлением проигрывания аудиофайла – здравая идея, которую легко осуществить с помощью булева атрибута controls:<audio src="witchitalineman.mp3"
Списки контроля доступа
Списки контроля доступа Каждый ACL состоит из совокупности элементов контроля доступа (Access Control Entry, АСЕ). Существует два типа АСЕ: для разрешения данного вида доступа (allowed) и его запрета (denied).Сначала список ACL инициализируют посредством функции InitializeAcl, a затем добавляют в
2.4. TCP: протокол контроля передачи
2.4. TCP: протокол контроля передачи Сервис, предоставляемый приложению протоколом TCP, отличается от сервиса, предоставляемого протоколом UDP. TCP описывается в документах RFC 793 [96], RFC 1323 [53], RFC 2581 [4], RFC 2988 [91] и RFC 3390 [2]. Прежде всего, TCP обеспечивает установление соединений (connections)
9.4.1. Список контроля доступа
9.4.1. Список контроля доступа Первое, с чем нам предстоит познакомиться, — это ACL (Access Control List, список контроля доступа), который предоставляет большие возможности для дальнейшей настройки прав доступа к сайтам. С помощью списка имен вы как бы группируете действия или
Средства контроля доступа
Средства контроля доступа Многие из опций, которые указываются для каждого клиента в файле /etc/exports, предназначены для управления доступом. Как было сказано ранее, NFS использует механизм доверия, поэтому сервер не может проверить имя пользователя и пароль, как это
7.7.1. Система контроля доступа
7.7.1. Система контроля доступа Как мы уже знаем, и Linux есть обычные пользователи и суперпользователь. Обычные пользователи практически не имеют никаких прав. Они могут создавать и изменять файлы только из своего домашнего каталога, а к остальным файлам файловой системы они
2.3.3. Программы контроля
2.3.3. Программы контроля Программы контроля текста могут быть классифицированы по нескольким критериям.Первый критерий связан с анализируемым программой аспектом текста. В соответствии с этим критерием выделяются следующие группы программ одноаспектного
15.5. Системы контроля версий
15.5. Системы контроля версий Как известно, по мере того как проект движется от первого прототипа к распространяемой версии, код проходит через несколько циклов развития, в ходе которых разработчик исследует новые области, отлаживает, а затем стабилизирует достижения.И
15.5.4. Unix-инструменты для контроля версий
15.5.4. Unix-инструменты для контроля версий Историческое значение в мире Unix имеют три VCS-системы; они рассматриваются в данном разделе. Более развернутое введение и учебные материалы приведены в книге "Applying RCS and SCCS"
15.5.4.4. Другие системы контроля версий
15.5.4.4. Другие системы контроля версий Конструктивные проблемы системы CVS достаточны для того, чтобы создать потребность в лучших VCS-системах с открытым исходным кодом. Несколько таких проектов полным ходом разрабатывались в 2003 году. Наиболее выдающимися из них являются
15.5. Системы контроля версий
15.5. Системы контроля версий Как известно, по мере того как проект движется от первого прототипа к распространяемой версии, код проходит через несколько циклов развития, в ходе которых разработчик исследует новые области, отлаживает, а затем стабилизирует достижения.И
15.5.4. Unix-инструменты для контроля версий
15.5.4. Unix-инструменты для контроля версий Историческое значение в мире Unix имеют три VCS-системы; они рассматриваются в данном разделе. Более развернутое введение и учебные материалы приведены в книге "Applying RCS and SCCS"
15.5.4.4. Другие системы контроля версий
15.5.4.4. Другие системы контроля версий Конструктивные проблемы системы CVS достаточны для того, чтобы создать потребность в лучших VCS-системах с открытым исходным кодом. Несколько таких проектов полным ходом разрабатывались в 2003 году. Наиболее выдающимися из них являются
Вторая фаза: Прохождение через систему физического контроля
Вторая фаза: Прохождение через систему физического контроля Я попросила Марию побыть в моем офисе и ждать моего звонка, если меня не пропустят. Легко было видеть, что мой подход ей понравился. (Ей самой, наверное, хотелось пойти со мной и посмотреть, что будет. Но она