Comments 11
Да, разделяю боль) я пример накидал по быстрому, так сказать, для наглядности, да и на реакте, в силу места работы, давно не писал) на самом деле, переезд на новые версии сейчас не является болью, обратная совместимость работает) в статье больше пытался сделать упор на глобальные вещи)
Подскажите, как хук называется?
Согласен, но это же относится не только к реакту, может только он чаще обновляется.
У нас когда-то была отлично написанная внутренняя админка на AngularJS, теперь это жуткое легаси. Сейчас испытываю огромную боль по поддержке проекта на RiotJS, который когда-то был примером хорошего масштабируемого кода. Вчера понадобилось внести изменения в свой максимально простой пет проект состоящий из одной страницы, без фреймворков, так там сборщик устарел, первый parcel , проект прост не запускался и не собирался. Сначала пришлось переписать сборку.
И даже при использовании только чистого js , без других утилит приходится обновлять кодовую базу, вот появился недавно structuredClone и на его фоне все эти JSON.parse(JSON.stringify( или какие-нибудь утилиты deepClone уже смотрятся "грязно"
Кажется это неизбежно
Спасибо за статью. Какие метрики вы применяете для оценки чистоты Реакт кода? Какие пороговые значения этих метрик триггерят техдолг?
автор! ты графоман! ни критериев, ни определений. одна сплошная субъективщина. что такое "чистота"? ты и сам определить не можешь в статье, как и все остальные направления. в общем виде, критерий "чистоты" определяется как достаточная лаконичность. пословица даже есть: краткость - сестра таланта. а у тебя энтропия растёт в геометрической прогррессии.
Везде рассказывают про архитектуру в вакууме, забывая рассказать о специфике браузерной среды. Расскажите лучше про это. Это очень важно, если вы делаете что-то сложнее чем формы и вывод контента, например, игры. Я никогда особо не обращал внимание на то, что браузер может засыпать, что приводит к остановке некоторых вычислений. То есть "железную" логику легко поломать, если просто переключить фокус на другой таб.
Деление компонентов на умные и глупые помогает нам придерживаться модульной структуры.
Как вы думаете, почему это разделение есть только в React экосистеме и не имеет никакого смысла в остальных фреймворках?
Может просто потому что это удобно, и у реакта есть инструменты для этого.
Чистая архитектура фронтенд приложений. Часть вторая