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

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

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

[identity profile] berezovsky.livejournal.com 2013-11-02 02:50 am (UTC)(link)
Программно конфигурировал иис, попал в психиатрическую клинику, в данный момент находится на реабилитации.
В одной известной Корпорации приходилось работать с софтинкой для создания PDF-документов.
Там было два режима работы. Хочешь - пиши XML, хочешь - тыкайся в кнопки дизайнера.
Сначала документы рисовали полностью вручную, потом полуавтоматически.
То есть общая структура документа была фиксирована, а сточки огромной отчётной таблицы генерировалась
из SAP/ABAP системы с помощью тех же фрагментов XML.
Так вот, если надо было что-то поправить, проще было залезть в разметку, переписать кусок,
и только потом смотреть, как это будет выглядеть, прости-господи-нерусское-слоо, отрендеренное.
Потому что, мать его, дизайнер, содержал столько глюков, что складывалось впечатление,
что его особо никто никогда не тестировал. Как посочувствовали в чатике, что-то типа "мерзкая штука".
Не помню точно, но один из типичных багов примерно такой был. Надо нарисовать, скажем, поле для емейла.
У него там четыре стороны, верхнее, правое, нижнее и левое. Чтобы это выглядело сносно,
нужно было выставить со всех сторон одинаковые поля. Для этого в дизайнере было пять контролов.
Для левого, верхнего, правого нижнего и общее - "All". Вот когда вводишь цифру в "All" (или стрелочками меняешь),
ожидаешь, что в остальных четырёх будет такая же цифра. А вот хуй - в трёх местах меняются, в одном остаётся старая.
Или меняются только в двух местах, причём случайным образом. Например, только верхнее и правое. Или верхнее и левое.
Как это можно было умудриться сделать, не представляю. Пытаешься исправить цифры руками -
меняются в соседних местах от балды. Бешено плюёшься и лезешь в XML.
Это ладно, ребята быстро понимали и могли сделать. А девочка-тестер даже в мышедизайнере всего не осиливала.

[identity profile] gineer.livejournal.com 2013-11-03 01:24 pm (UTC)(link)
\\А вот хуй - в трёх местах меняются, в одном остаётся старая.

Ага, а потом продвинутые (как тут недавно) на паттерны ругаются.
Вот закладыватся можно на то, как это сделано... с паттернами или без.

[identity profile] berezovsky.livejournal.com 2013-11-03 01:42 pm (UTC)(link)
Мне в голову приходит только рейс кондишн какой-нибудь,
когда один поток берёт из All, второй из каких-нибудь
фиксированных ебеней, и один за другим не успевает.
Может, и другие варианты есть, но придумать не могу пока.

[identity profile] gineer.livejournal.com 2013-11-03 02:04 pm (UTC)(link)
не... правда банальнее, и жоще

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

[identity profile] berezovsky.livejournal.com 2013-11-03 11:16 pm (UTC)(link)
Так они случайным образом менялись, любые три из четырёх или любые два из четырёх, например.