Мастера могут использовать функции запуска. Они также могут запутать ваш код и являются анти-YAGNI.Язык Wizards считается вредным?
В целом, как вы думаете, волшебники более полезны или вредны?
Мастера могут использовать функции запуска. Они также могут запутать ваш код и являются анти-YAGNI.Язык Wizards считается вредным?
В целом, как вы думаете, волшебники более полезны или вредны?
Они более полезны, чем вредные , если и только если вы понимаете код, который они генерируют. Только после того, как вы освоили проблему, которую мастер пытается решить, они действительно полезны. В противном случае вы ударите стены позже в проекте, потому что сгенерированный код будет нуждаются в модификациях в какой-то момент.
"The Law of Leaky Abstractions" действительно гвозди его на голову.
Они по какой-то причине стараются сделать вашу жизнь проще. Они могут быть полезны и сэкономить вам 5 или 10 минут ввода. Конечно, лучше всего читать и убедиться, что вы понимаете, что они написали для вас.
Если вы используете их без понимания, то они могут считаться вредными в том, что они позволяют вам уйти, не изучая что-то, что вы, вероятно, знаете, но на балансе, я думаю, что они хорошие.
Wizards являются «в основном безвредными», когда они генерируют инкапсулированный объект - функцию, класс или набор классов, которые вам не нужно изменять и с которыми вы взаимодействуете с помощью четко определенных, хорошо продуманных интерфейс.
На другом конце спектра находится мастер, который генерирует скелетный код, который необходимо расширить и изменить. Это особенно хлопотно, если вы не можете изменить некоторые параметры мастера позже, не теряя свои права.
Они все еще «хорошо» для профессионалов, которые могут написать один и тот же код самостоятельно и используют мастер для экономии времени. Однако, когда они используются, чтобы сделать что-то сложное для начинающих легким, это краска на ржавом автомобиле: они помогают продавать то, что вы иначе не купили.
На практике они могут по-прежнему быть полезными для облегчения принятия платформы. Но это бизнес-аспект, и могут ли бизнес-аспекты оправдывать ошибки кода - это вопрос среды разработки.
Мастера хороши, если и только если вы можете уйти с никогда редактируя код, который они генерируют. В этой ситуации они по сути являются языком программирования на очень высоком уровне. Когда вы передумаете о том, что было создано мастером, вы можете снова запустить мастер.
Волшебники самые ужасные, если вы должны редактировать код, который они генерируют. Если вы это сделаете, а затем измените свое мнение об одном из вариантов, которые вы сделали в мастере, тогда вам придется выбирать между двумя очень плохими параметрами. Вы можете повторно запустить мастер и повторно применить ручные изменения, или вы можете попробовать отредактировать несколько копий шаблона кода, который мастер создал впервые. В первом случае вы, вероятно, забудете хотя бы одно из ваших изменений, и в последнем случае вы, вероятно, пропустите хотя бы одно из мест в коде, на который повлиял ваш выбор на время работы мастера.