refactor: align frontend ownership boundaries
Close audit gaps across API drift, query policy, UI, and tests.
This commit is contained in:
+5
-6
@@ -27,12 +27,11 @@ image state. Простое форматирование одного перед
|
||||
существующий formatter остаётся presentation concern; вычисления из всей
|
||||
коллекции остаются во VM.
|
||||
|
||||
View files дробятся по смысловой нагрузке, а не только по количеству строк.
|
||||
Каждый top-level state и каждый именуемый section страницы — отдельный
|
||||
`*.view.tsx` в `components/`, а не накопление внутри одного большого
|
||||
`*.view.tsx`. Контейнер импортирует state views из `./components` и выбирает
|
||||
нужный по `viewModel.state`. Держать loading/error/empty/loaded components в
|
||||
одном файле view нельзя.
|
||||
View files дробятся по ownership и смысловой нагрузке, а не по количеству строк.
|
||||
Самостоятельные top-level states и sections выносятся в flat `components/*.view.tsx`,
|
||||
если это делает principal component и границы изменений яснее. Маленькие
|
||||
tightly-coupled renderers остаются рядом с parent; механическое правило «один
|
||||
component — один file» и line-count gate не используются.
|
||||
|
||||
Known API errors, retry и stale snapshot остаются local views, а непойманные
|
||||
route errors обрабатывает общий route-keyed ErrorBoundary.
|
||||
|
||||
Reference in New Issue
Block a user