В последнее время я оглядывался по сторонам, в частности, на некоторые из доступных инструментов MS, и заметил, что большое внимание уделяется инструментам дизайнеров и мастерам. Не только для разработки пользовательского интерфейса, но и для всего.
- Entity Framework имеет модельер
- В RIA Services есть мастер (ы) DomainService
- У рабочего процесса есть весь конструктор рабочих процессов, что-то вроде этого (я не знаю, на самом деле не использовал его)
Есть еще кое-что, но я думаю, вы поняли идею. Там много дизайнерских инструментов. Используя некоторые из них, я обнаружил, что:
Они усложняют дела за пределами предписанных случаев использования
(т.е. все технические демонстрационные видео)
Я недавно оценивал некоторые из этих технологий и, пытаясь поработать с ними, в итоге мне пришлось разобраться, что именно дизайнеры, моделисты и мастера делают для меня ... в противном случае я теряюсь, когда мне действительно приходится пытаться делать что-то с тем, что было создано.
В итоге получается, что мне приходится бороться с инструментом или бороться с его выходом настолько, чтобы я мог сделать все сам без него - и у меня было гораздо более глубокое понимание того, что происходит. Я нахожу это особенно бесит дизайнер Silverlight и мастер службы домена RIA.
Я спрашиваю себя: «Что хорошего в этом инструменте, если мне нужно выяснить его внутреннюю работу или переписать половину его результатов, чтобы использовать его?»
Они не такие быстрые
Смысл этих инструментов в том, чтобы повысить производительность, и эта точка может со временем меняться при использовании инструмента и не обязательно относится к дизайнерам пользовательского интерфейса (хотя в некоторых случаях это все еще имеет место -> Я смотрю на вас, дизайнер Silverlight) , Я обнаружил, что могу взломать некоторый код гораздо быстрее, чем перетаскивать, изменять размер, перемещать что угодно в конструкторе.
Пользовательский интерфейс мешает модели
Может быть, это только я, но когда я использую что-то напоминающее инструмент дизайна UML, я трачу больше времени на раскладку всего, чтобы мои линии не пересекались и чтобы я мог видеть все это на экране, а не моделировать то, что я пытаюсь добиться.
Они не веселые
Половина причины, по которой я пишу код для жизни, заключается в том, что мне это нравится. Нажав флажки и выбрав комбинированные списки, а затем исправив все, что выходит, это не весело.
Я не один
Сообществу, похоже, тоже не нужны эти инструменты. Лучший пример, который я могу представить на данный момент, - это Entity Framework Code-First.
Поэтому я спрашиваю:
- Инструменты дизайнера действительно повышают производительность?
- Они забавные убийцы?
- «Сообщество» на самом деле просит больше дизайнерских инструментов, или поставщики просто думают, что мы?