IT Сургут
IT Сургут
@surgut_it

Универсальность, которая никому не пригодилась

Универсальность, которая никому не пригодилась

Классический сюжет: два похожих отчёта — и появляется универсальный конструктор. Через год в нём двадцать настроек, а каждый новый отчёт всё равно требует правок в коде.

Почему так. Обобщение требует знания о том, как задачи разойдутся дальше. В начале его нет, и вы обобщаете по внешнему сходству.

Рабочее правило. Сначала повторите. Две похожие реализации — норма. Появилась третья и видно, что общего по существу, — объединяйте.

Признаки преждевременного обобщения. Флаги, меняющие поведение функции. Настройки, которыми пользуется один вызов. Слои абстракции с единственной реализацией.

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

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

IT Сургут — t.me/surgut_it
Этот пост опубликован в Telegram-канале IT Сургут. Подписаться можно по ссылке: @surgut_it.
tech

Свежие посты в категории «Tech Infrastructure»

Все каналы категории →

start

Готовы запустить рекламу через сеть public.tg?

Новый оффер, продукт, GEO, кейс, событие или партнёрский запуск — соберём маршрут под задачу и отдадим медиаплан.

Telegram для медиаплана: @AFFtop_connect. Быстрый тест: $20 за канал, $1000 за пакет по сети.