Я был одиноким программистом в моей работе довольно долгое время. Обычно я читал статьи и посты о
- Системы контроля версий
- Непрерывная интеграция / доставка
- Методологии разработки: Scrum, Waterfall, V-Model, Agile, XP и др.
- Управление проектами программного обеспечения
Но почти все они, кажется, сосредоточены на КОМАНДАХ. Я не команда, так какой будет минимальный набор практик только для одного программиста? Рассмотрим следующие условия:
- У меня нет конфликтов с чужим кодом.
- Мне не нужно поддерживать файлы / каталоги, моя среда разработки заботится о версиях сама по себе (разработка на основе изображений).
- Официальных требований нет, мои пользователи не знают, чего хотят, и с этим все в порядке.
- Единственный, кто может быть заинтересован в доставке релиза или документации, это я, в основном заказчик хочет РЕЗУЛЬТАТОВ и не заботится о методологиях программного обеспечения и т. Д.
Я считаю, что я не хочу тратить (слишком много) время и энергию на то, что не связано напрямую с требованиями клиента. Любые рекомендации?
Ответы:
Там нет правильного ответа на этот вопрос, потому что это зависит от каждого человека. Если вы используете iPad для выполнения всей своей работы, и ваши клиенты довольны вами, у вас нет никаких причин для изменений.
Однако, если бы я был на вашем месте, я бы настоятельно рекомендовал следующее:
источник
Контроль версий является абсолютной необходимостью для любого программиста, даже одинокого. Это означает, что вы можете просто и быстро восстанавливаться из удаленных файлов и сложных неправильных изменений.
В основном это спасает вас от глупого дерьма, которое вы делаете, когда вы идете на работу, нависшей.
источник
Как говорят другие, контроль версий или управление исходным кодом чрезвычайно важны. Используйте DVCS и узнайте все об этом. Неважно, какой это, но вам может быть полезно, если вы выберете популярный: git или mercurial.
Еще одна вещь, о которой я не упомянул, - это пошаговый скрипт сборки . Это не прямая непрерывная интеграция (на мой взгляд, эта фраза склонна к BS), а очень полезный инструмент. Всякий раз, когда вам нужно сделать экстренное обновление, вы можете просто запустить скрипт и покончить с ним. При приближении к концу проекта также бывает, что требуется несколько сборок в день. Мой опыт показывает, что это окупается очень сильно, даже если процесс сборки не слишком сложен. Вы даже можете добавить возможности загрузки по ftp, отчеты по электронной почте, запуск модульных тестов, сборку инсталляторов, подписывание и т. Д. Сценарий, написанный с самого начала, легко поддерживать и расширять с помощью дополнительных шагов по мере продвижения проекта.
источник
Я просто отвечу один: контроль версий чрезвычайно важен для любого проекта, а не только для команды. Когда вы используете его, требуется очень небольшое дополнительное время, но он предоставляет богатую историю, к которой вы можете прибегнуть, это не серебряная пуля, но, конечно, приятно иметь возможность вернуться к рабочей копии, если это действительно Экспериментальная функция сломала большую часть приложения.
источник
Контроль версий абсолютно необходим. Не только из-за сохранения источника в порядке, но и из-за археологии источника. Год от того, что вы сможете проверить, как развивается класс или процедура, может сэкономить много боли, если вы попытаетесь «исправить» какой-то странный код.
Для методологий - я настоятельно рекомендую манифест программистов . Обычно это дает отличные результаты в небольших группах из-за отсутствия накладных расходов и отсутствия необходимости думать о том, как работает куча инфраструктур контейнеров приложений веб-службы CMS на основе ролей JMS-совместимых JSREE на основе ролей .
источник