Задать вопрос

Курс по Vue.js с тяжелым проектом?

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

Посоветуйте, пожалуйста, какой-нибудь курс (можно на английском и даже приветствуется), в котором разрабатывается какой-нибудь достаточно сложный проект, а не просто todo или какая-нибудь страничка с парой роутов и т.д.

Покупал курс на udemy - Vue JS 2 - The Complete Guide (incl. Vue Router & Vuex). Maximilian Schwarzmüller. Базовые вещи там, конечно, объясняются хорошо, но даже последний "большой" проект оказался не совсем близким к реалиям.

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

Ситуация такова, что устроился в компанию, проект делается на Vue.js, но до моего прихода его писали уже больше года и он разросся очень сильно, а чтобы мне что-то поправить или написать уходит нереально много времени и порой даже не с полным пониманием что там вообще происходит. Коллеги помогают, документы читаю, но как это все применить и правильно организовать пока не догоняю.
Можете кидать в меня все что хотите, но больше буду благодарен, если все же что-то посоветуйте. Спасибо =)
  • Вопрос задан
  • 2144 просмотра
Подписаться 14 Простой 3 комментария
Решения вопроса 5
tema_sun
@tema_sun
Ситуация такова, что устроился в компанию...


Вы сейчас проходите самый лучший курс. Мало того, вам за это еще и платят!
Ответ написан
Комментировать
@Sashqa
Не очень понимаю, каким образом "урок по разработке большого проекта" поможет Вам разобраться в проекте компании, который пишут уже больше года.

Лучший учитель - практика. Применяйте новые знания на практике.
От того, что вы сделаете "большой проект" под копирку по уроку, мозгов не прибавится. Придумайте что-то свое и в путь
Ответ написан
JRK_DV
@JRK_DV
Рецепты https://codepen.io/jrkdv/full/LKLXdq
если все же что-то посоветуйте

напишите "просто todo или какую-нибудь страничку с парой роутов".
Добавьте в него 1к записей у каждой записи по 1к комментариев
Из комментария можно перейти в карточку пользователя (кто написал комментарий).
В карточке пользователя можно посмотреть все его комментарии.
Из комментариев пользователя можно попасть на страницу todo листа, где этот комментарий написан
не обязательно базу заводить, можно данные положить в каком-нибудь json файле - это не суть важна

п.с. 1к записей\комментариев - условные - в надежде, что вы не сможете вывести их все разом на страницу, потому что страница будет тормозить, что конечно же нельзя допускать

придумывать идею какого-то проекта, ... так это будет так же как вы и написали:
вам дали проект, но он для вас сложный.
вам Не нужен "тяжелый проект", вам нужен Лёгкий проект в котором можно без проблемно потренироваться выстраивать архитектуру приложения. И так же без проблемно менять архитектуру, если предыдущая вам показалась неудобной.
ещё вот тут ссылок накидали: Что почитать по архитектуре Vue-приложения?
Ответ написан
Kozack
@Kozack Куратор тега Vue.js
Thinking about a11y
Ни один курс вам тут не поможет. Только практика. Теория хороша, но она должна быть к месту.
Изучайте проект. Нашли проблему — гуглите или спрашивайте про способы решения.

Не знаете как организовать код?
Вам помогут:
https://vuejs.org/v2/style-guide/
Читайте про паттерны проектирования какие плюсы минусы у каждого, где и какой стоит применять. И не только для Vue а для всего JS.

Или скажем, у вас есть несколько компонентов которые дублируют друг друга — начните рефакторить. Столкнетесь с проблемой — гуглите как её решить. Только не задавайте вопросы "Как рефакторить?". Рефакторинг призван изменить код чтобы решить одну или несколько проблем (не багов, а именно архитектурных проблем). Но для этого вы должны эти самые проблемы выявить. И тогда искать способ решения конкретно для них.

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

Только такого рода обучение "Найти проблему — найти решение" даёт какой-либо результат. И это не зависит от "размеров" проекта.

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

UPD
С большими и старыми проектами есть такое дело, что порой, самая упоротая дичь, которая там может быть написана — написана не просто так. Учитывайте, что то что вы сейчас собираетесь исправлять, существует по какой-то причине и не всегда очевидной. Возможно 10 месяцев назад была очень узко направленная задача (учто-то в духе, страница для печати отчета бухгалтерами), решить которую можно было только огромным костылем. И сейчас все о ней уже забыли. И убрав этот костыль вы можете сломать что-то. И хорошо если это всплывёт сразу, а не ещё через 10 месяцем.
Ответ написан
Комментировать
@vladdimir
Верстальщик
Приветствую!
Курс не подскажу, но поделюсь опытом.

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

Дальше. Каждое большое приложение состоит из маленьких приложений. Работая над какой-то частью своего большого приложения, вы пишите или редактируете какой-то модуль, отдельное приложение. Оно может быть (и будет) связано с другими так или иначе. Вам нужно понять с чем оно связано: от кого зависит, кто зависит от него. Далее, понять тип и характер этих связей. Если его убрать, то что сломается и на сколько сильно? Когда вы это поймете, то уже будет гораздо проще понять, что делает этот модуль и как он это делает. Вот просто берете имя компонента и поиском по файлам ищете, потом читаете. Никакой магии.
Даже если у вас компоненты-спагетти, они ведь состоят из логических блоков. Каждый блок тоже приложение, верно? У него есть связи с другими, он что-то делает, как-то это делает.

То, что вы не можете с ходу разобраться во всех ньюансах крупного приложения, это нормально. Обычно так всегда и бывает. Приходишь, куришь доку, код, правишь мелкие модули, ломаешь большие и так по кругу) Постепенно код откладывается в памяти и связывается в общую картинку, но это не всегда.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Mikhail_RU
@Mikhail_RU
учусь
https://www.youtube.com/watch?v=NQ2i5cZ87ug&list=P...
Автор Владилен Минин
Очень рекомендую!
Ответ написан
Ваш ответ на вопрос

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

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