metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2013-11-01 11:22 pm

Гуе-визардо-мышедизайнерская разработка софта

А вот скажите, как вы относитесь к инструментам, в которых для подключения, например, к БД, нужно пройти 5-10 экранов визарда? Ну или там поработать полчасика в неудобном мышедизайнере.
С одной стороны, для начинающих это сильно снижает порог входа - нажимаешь "сделать чо нибудь", оно задает кучу вопросов и это чо нибудь делает. С другой стороны - внутренности либ для подобных инструментов чуть более чем всегда совершенно не
пригодны для обычной разработки - "чтобы создать что-то из кода, надо выполнить страницу неадекватных вуду заклинаний".
Я подобные вещи стараюсь не использовать, благо, разработчики все делают для того, чтобы это было неудобно и медленно для сколько-нибудь сложных задач и подобное ретроградство и луддизм находят понимание среди коллег, особенно тех, кто ничем, кроме текста и его редакторов, принципиально не пользуется.

[identity profile] berezovsky.livejournal.com 2013-11-02 12:27 pm (UTC)(link)
Э-э-э, ты имеешь в виду, что CI лезет в репозиторий, берёт скрипт и прогоняет его по всем продакшенам?

[identity profile] jakobz.livejournal.com 2013-11-02 12:41 pm (UTC)(link)
CI (точнее спец. утилитка) лезет в репозиторий, смотрит что в нем нового относительно спец. таблички в базе, и накатывает скрипты в хронологическом порядке на:
- по коммиту - на базу-болванку, чисто отфильтровать сразу скрипты, которые падают
- по коммиту - на trunk-систему
- на системы девелоперов когда они забирают себе свежий код
- по кнопке/расписанию на QA/UAT-систему
- по кнопке на Staging-систему, куда скидывается база с прода
- по кнопке на прод

Никаких кривых рук на прод-систему в идеале вообще не допускается, для деплоя используется та же утилита, тот же набор скриптов, и тот же их порядок, который для этого использовался для поднимания нескольких тестовых систем, и проверен руками и роботами.

[identity profile] berezovsky.livejournal.com 2013-11-02 12:43 pm (UTC)(link)
Серьёзно. Но это, похоже, в рамках одной конторы.

[identity profile] jakobz.livejournal.com 2013-11-02 12:53 pm (UTC)(link)
Это самый хороший вариант, который у меня получилось сделать от входа на одном проекте. Там еще хранимки и вьюшки всякие лежали отдельно по файликам, через что их не надо было проводить как diff-скрипты и было видно историю изменений.

На многих других проектах варианты попроще в плане автоматизации, но вообще обычно порядок примерно такой везде. Иначе ад - забытые скрипты, базы потихоньку разъезжаются, девелоперы вынуждены работать с общей базой постоянно пересекаясь и друг другу все ломая.