Логотип Fusion Framework от Cipher UnitFusion

Анти-паттерны

Типичные ошибки при создании приложений на 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 для данных в рамках запроса; явные параметры функций для всего остального.

На этой странице