Анти-паттерны
Типичные ошибки при создании приложений на Fusion
Гигантские route-модули
Плохо: Один класс с десятками несвязанных ресурсов.
Лучше: Разбейте на сфокусированные классы *Module и импортируйте каждый из main.
Вызов listen внутри файлов маршрутов
Плохо: Создание FusionApp и вызов listen() внизу каждого файла модуля.
Лучше: Единая точка входа владеет жизненным циклом.
Ожидание, что пакеты — это авто-маршруты
Плохо: Надеяться, что fusion add сам выставит HTTP-эндпоинты.
Лучше: Импортируйте пакет и подключайте его явно из route-модулей или middleware.
Циклические импорты маршрутов
Плохо: users.py импортирует orders.py, а тот импортирует users.py ради хелперов.
Лучше: Вынесите общие хелперы в library-пакет или src/shared/.
Вся бизнес-логика только в handlers
Плохо: Сотни строк доменной логики внутри get/post.
Лучше: Handlers только мапят HTTP ↔ вызовы в ваши хелперы/сервисы (обычные функции/классы — у Fusion нет DI-контейнера).
Непроверенный JWT в production
Плохо: app.use(bearer_jwt()) с декодированием по умолчанию на публичном API.
Лучше: Передайте verify=, который проверяет подпись, срок действия и issuer.
Жёстко прошитые сегменты пути ресурса
Плохо: @route("api/product/"), дублирующийся при переименованиях.
Лучше: @route("api/[module]/") с ProductModule.
Раздувание внутреннего состояния модуля
Плохо: Глобальные изменяемые синглтоны, импортируемые отовсюду.
Лучше: Per-request state для данных в рамках запроса; явные параметры функций для всего остального.