IT Краснодар
IT Краснодар
@itnews_krasnodar

Ранние обобщения: почему универсальность вредит

Ранние обобщения: почему универсальность вредит

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

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

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

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

Что делать с готовым. Разделять при следующем изменении.

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

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

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

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

start

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

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

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