Вопрос

Мастера могут запускать функции. Они также могут запутать ваш код и против YAGNI.

В целом, как вы думаете, волшебники более полезны или более вредны?

Это было полезно?

Решение

Они более полезны, чем вредны , если и только если вы понимаете код, который они генерируют. Только после того, как вы освоите проблему, мастер пытается решить ее, они действительно полезны. В противном случае вы столкнетесь со стенами позже в проекте, потому что сгенерированный код будет нуждаться в модификации в какой-то момент.

" Закон утечек абстракций " действительно приковывает его к голове.

Другие советы

Они там по причине - чтобы попытаться сделать вашу жизнь проще. Они могут быть полезны и сэкономить вам 5 или 10 минут набора текста. Конечно, лучше прочитать и убедиться, что вы понимаете, что они написали для вас.

Если вы используете их без понимания, то их можно считать вредными в том смысле, что они позволяют вам не учиться чему-то, что вы, вероятно, должны знать, но в целом я думаю, что это хорошая вещь.

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

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

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

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

Это все еще "хорошо" для профессионала, который может написать тот же код сам и использует мастера, чтобы сэкономить время. Однако, когда они используются для того, чтобы что-то сложное выглядело легко для новичков, они разрисовывают ржавую машину: они помогают продавать то, что иначе вы бы не купили.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top