169 похожих чатов

Утречка всем. У меня довольно абстрактный и широкий вопрос. Я уже

больше года на React'е работаю. И поскольку он довольно гибкий и ни к чему особо архитектурно не принуждает, имеется огромная куча готовых решений для всего подряд и столько же велосипедов. Вопрос: как во всем этом хаосе разобраться и перестать говнокодить? Может это из-за пробелов в каких-то фундаментальных моментах среди фронтендеров, типа структур данных и паттернов? Очень многие моменты в своих рабочих проектах хочется зарефакторить и сделать по-человечески (потому что в них сложно разобраться и неудобно поддерживать), но идей совсем нет.

4 ответов

9 просмотров

dry, kiss, yagni, solid, clean code, в целом делай проще, декомпозируй и создавай расширяемое приложение

Это именно из за пробелов, хорошо, что вы осознаёте это через год. Начните со структур данных(не в js а вообще), что такое стек/куча, разберитесь в особенностях языка на котором пишите, а не библиотеки, макро/микро задачах, что такое функциональное программирование и что из него применяется в js и т.д. После этого, покроется 40-50 процентов ошибок, которые уже делали. Дальше изучите жизненный цикл в реакте, ибо без него вы не поймёте до конца хуки. Найдите много источников и разберитесь, что же такое сайд эффекты, чтобы понимать где и как их правильно обрабатывать, какие библиотеки если нужно и пользовать. Выберите для начала один стейт менеджер и, следуя официальной документации(и не только) изучите «как пишут в 2К21» а не 5 лет назад на mapStateToProps(привет redux). Тут в принципе список бесконечный, надеюсь, хоть что-то из этого будет полезным.

Aurora-kun- Автор вопроса

В принципе, большую часть из описанного знаю в какой-то степени, что-то использую, но не сказал бы что очень часто. Наверное стоит углубиться и перечитать все. Спасибо!

👍🏼

Похожие вопросы

Обсуждают сегодня

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Всем привет, у меня есть сервер принимающий входящие HTTP подключения, как проверить, что подключение было через прокси или нет, есть какие то поля в заголовках по которым мо...
DS
8
Карта сайта