Доклад

Граница по границе контроля: где на фронтенде проводить абстракции

Почти в каждой команде регулярно всплывает один и тот же вопрос: куда положить этот код, выносить ли его в общий модуль, стоит ли заводить отдельную абстракцию. Звучит бытово, но за ним — реальное инженерное решение, которое дорого исправлять, если ошибся. В этом докладе я предлагаю смотреть на такие решения через один принцип: границу стоит проводить там, где кончается твой контроль, а не там, где просто «удобно» или «принято».

Начнем с самых простых приемов, которым не нужна никакая методология: обертка над чужим компонентом и колокация кода по смыслу, а не по технической природе. Затем увидим, что та же идея уже названа в FSD — это сегменты api, model и ui, каждый из которых меняется по своей причине. На живых примерах с продакшен-проекта на Vue разберем, как изоляция от бэкенда через собственный контракт позволяет чинить одно место вместо всей страницы, и почему абстракцию лучше выносить не заранее, а когда она себя заслужила.

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

Расписание