TGViewer
ТОП - Тёма о программировани ТОП - Тёма о программировани @temaprog · 2.81K subscribers
Post #7 1.61K
Где располагать стейт?(part1)
#Фронтенд

Ответ на этот вопрос очень простой - где нужен стейт, там и располагаем. И на этом можно было бы закончить пост, но нет. Если все так просто, то откуда появляются God components?

God Component(компонент бога, богоподобный компонент) - компонент, который умеет слишком много, содержит слишком много состояний, слишком много логики. Является антипаттерном.

God component к сожалению не редкость. Я сам присутствовал на пришествии нескольких таких божеств, а парочку по неопытности склепал сам. Чем он плох?

1. Понять что он делает без бутылки бывает очень сложно. Следовательно поддержка -
2. Из-за переплетения интриг логики посадить там баг очень просто. Надежность -
3. Описать его тестами очень сложно, тк вы просто не можете сформулировать что он делает. Обычно если вы не можете описать тестами ваш компонент, то это звоночек, что он он протух и воняет. Надежность —
4. Добавить туда новую функциональность очень сложно, нет тестов(либо они хуже самого компонента), код не самодокументируемый, кейсов использования очень много(логики ведь куча). Поддержка —
Продолжать этот список можно очень долго, но я думаю смысл вы поняли. Эта штука гниет и в будущем может потащить за собой весь проект. Как с ними бороться поговорим отдельно. Сейчас вернемся к стейту.
  • 👍 11
More from @temaprog
  1. Sep 15, 2026Здарова, работяги! Кто собирается на Avito.Tech.Conf 26 сентября? Я уже рассказывал про ко…
  2. Sep 14, 2026Зачем ты пишешь? Здарова, работяги! Помню, как все только начинали активно использовать аг…
  3. Sep 4, 2026Здарова, работяги! Приезжает коробка. Внутри бейдж на Avito.Tech.Conf и часы «Ракета».😳 И…
  4. Sep 3, 2026Здарова, работяги! Потихоньку продолжаю дописывать посты из заметок. В прошлый раз — элеме…
  5. Aug 26, 2026Здарова, работяги! Совсем скоро осень, а значит, начинается сезон конференций. Про Avito.T…
  6. Aug 18, 2026Здарова, работяги! Сейчас я много думаю про AI-native команды и внедрение ИИ в разработку.…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →