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

ротиворечат?

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

Как вы думаете? Вы всегда пытаетесь отделить и справиться с накладными расходами?

Ответы на вопрос(9)

Ваш ответ на вопрос