@Reflections

Насколько полезно писать велосипеды?

Здравствуйте.

Работаю как Junior React-разработчик (React 18, Redux, TypeScript) уже 3-й месяц.

Столкнулся с тем, что более-менее нестандартные задачи, требующие более глубокого понимания работы всех механизмов мне очень сложно даются (например четкое понимание асинхронности, работы с промисами и callback-функциями).

Задачи, такие как создание новых страниц в приложении на основе старых, подключение запросов, прикручивание пагинации, копипаст экшенов, редюсеров и.т.д и.т.п решаются относительно просто, т.к есть на что опереться. Нужно создать новую страницу с таблицей данных, фильтрами, поиском и сортировкой - посмотрел уже готовую страницу, взял готовые куски, переделал под себя, все проверил - готово.

Если же задача требует четкого понимания каждого шага работы программы - тут сразу проблема.

Насколько полезно будет, например, отойти на время от готового React, Axios и.т.д., и попробовать, например, реализовать что-то на чистом JS, используя модули, fetch и все нативное? Или это больше бесполезная трата времени?

Думается, что при написании велосипедов и использовании только нативных возможностей языка и браузера, при конструировании приложения лично сталкиваешься с проблемами, эффективным решением которых занимаются готовые библиотеки. И вот тогда суть улавливается.

Работая с готовыми библиотеками куда не плюнешь - везде абстракции над абстракциями. А хочется самую суть уловить и уложить в голове, чтобы получился крепкий фундамент.

Начал писать пет-проект опять же на React, но чувствуется, что и там много пробелов.

Основная цель - получить крепкие фундаментальные знания по JS и веб-разработке в целом, при этом продолжая использовать React, как основной инструмент в настоящем и будущем.

Может вы что-то подскажете и поделитесь своим опытом. Буду благодарен.
  • Вопрос задан
  • 244 просмотра
Пригласить эксперта
Ответы на вопрос 6
xez
@xez
TL Junior Roo
Думается, что при написании велосипедов и использовании только нативных возможностей языка и браузера, при конструировании приложения лично сталкиваешься с проблемами, эффективным решением которых занимаются готовые библиотеки. И вот тогда суть улавливается.

Хорошо сказано.
Пишите в качестве пэт-проекта, демо или пруф-оф-консепт. В прод велосипеды тащить не надо.

Есть ещё ненулевой шанс, что ваш велосипед окажется пригодным для серийного производства.
Ответ написан
Комментировать
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
работа инженера это складывание решение из кирпичей.
новый кирпич изготовить очень дорого. так что четко понимайте зачем вам этот костыль
Ответ написан
Комментировать
lina666
@lina666
Изучаю веб ЯП.
Я зашел в разработку на стеке Vue и его окружения Nuxt, Vuex и т.п.
Начал копать в суть вещей только уже когда понял, что могу что то делать, но уперса в то, что не понимаю как некоторые вещи работают под капотом и это мешает мне делать задачи => недает расти по ЗП.

В общем есть смысл ковырять, если чувствуешь, что стоишь на месте из за того, что не знаешь как реализовать что либо если делаешь шаг влево\вправо.
Ответ написан
Комментировать
saboteur_kiev
@saboteur_kiev Куратор тега Веб-разработка
software engineer
Если что-то в готовом решении кажется сложным, значит ты не уловил какие именно проблемы успели порешать те, кто это решение писал.

Можно написать свой велосипед, но пока будешь его писать, скорее всего столкнешься с этими проблемами и в попытках решения их собственно напишешь то, что уже сделано.
Писать велосипеды - полезно для себя. Для какихто простых вещей.

В проекте использовать можно, но палка о двух концах - готовое решение в разы проще поддерживать. Возможные баги возможно пофиксят за тебя, тебе просто версию обновить. Если свой проект кому-то передавать то с велосипедами это будет жесть. Разбираться в чужих велосипедах, к которым нет документации - это худшее что может быть.

Поэтому свои велосипеды пиши или в очень простых кейсах или когда уже будешь четко понимать зачем ты решил не юзать готовое.
Ответ написан
Комментировать
krdpsr
@krdpsr
loading...
смысл в том что надо всё делать стандартно
для всего гуглить готовое решение
чтобы тебя можно было в любой момент уволить и без тебя легко всё поддерживать
для капиталиста нет ничего важнее этого
для возможности этого можно пожертвовать качеством

делай свои фреймворки если ты инженер
если у тебя инженерные изобретательские таланты и позывы

а если ты обычный чесальщик-мотальщик кода то изобрерать велосипеды тебе вредно
лучше изучай инструмент, и следи за новыми версиями, то есть вечно страдай
и если повезет - станешь руководителем, и страдать будут другие
Ответ написан
Комментировать
@reyzele
Программист
Бест практис и патерны быстро меняются. Тот стек технологий и библиотек, который был популярен 3 года назад уже не актуален сегодня, так как все развивается и меняется в быстром темпе, который задается теми, кто понимает, как вещи устроены. Самому менять и выдумывать что-то в продакшене просто приведет к тому, что проект будет зависим от тебя, только ты будешь понимать, что там происходит. Это конечно же не хорошо. Разработка должна быть понятной другим и соответствовать требованиям заказчика прежде всего...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы