@shiftenko
Frontend-разработчик

Поможете оценить проект?

В данный ищу работу в офисе, занимаюсь фронтом, в резюме имеется единственный учебный проект: https://github.com/shiftenko/lime-test, остальные на подходе. Поможете мне понять, пожалуйста, что там можно исправить или улучшить, помимо того, что указано в Projects, чтобы он лучше смотрелся в глазах работодателя? Там в общем описан его функционал, разве что дополню, что он сделан под телефоны, узкие телефоны, планшеты и пк, а также там имеется страница корзины. Нужен именно code review по всему, что не связано с CSS.
Надеюсь на вашу помощь, ребята.
  • Вопрос задан
  • 123 просмотра
Решения вопроса 1
@ned4ded
Верстка, Фронтенд
Добрый день.

Не плохо для учебного проекта, я считаю. Сколько у вас опыт программирования в целом и веб-разработки в частности?

Есть несколько элементов, которые я бы сделал по-другому во vue:
1) Использовал бы vuex. event-bus полезен в некоторых местах (чтобы не засорять стор, например), но для работы со сколько-нибудь сложным апи (эмуляцией которого является ваша папка data) он просто необходим. Ну и вместе с ним переработал бы структуру проекта (с использованием модулей, более удобного структурирования компонентов и т.п.). Ну что вот это такое "search-overlay-active-notify-dark-backgr-in-header"?
3) Поправил бы некоторые орфографические ошибки: stor, imgAndHerInstancesSizes, сont
4) Не стал бы пересылать в props объект data. Во первых, можно запутаться. Во вторых, данные должны быть как можно более плоскими.
5) Не стал бы засовывать в computed свойство сеттер, который обладает достаточно сложной логикой. Для исполнения такой логики есть методы. Вообще computed свойства должны быть максимально простыми. Не нужно в них пихать асинхронные импорты, это уже перебор.
6) Не стал бы использовать localstorage для хранения промежуточных вычислений. В конце концов, для управления состоянием существует vuex.
7) Не стал бы усложнять логику рендера TheCartNotEmpty, почему просто не сделать ее через if?
8) Не стал бы изменять DOM напрямую. Когда вы ищите элементы в вашем spa через document.querySelector, то у вас явно проблемы с проектированием )
9) Переименовал бы компоненты согласно одной из принятых конвенций. Что за TheNews, RptNewsItem? NewsComponent, NewsItemComponent. Не говорю уже о TheContainer, TheActions, название которых не несет никакого смысла.
10) Избавился бы от string templates. Сделайте их отдельным компонентом.

В целом по js:
1) Избавился бы от вложенных if.
2) Не использовал бы оператор delete для удаления свойств у объекта.

Ну, можете считать часть этих замечаний делом вкуса, "opinionated" как написали бы наши забугорные коллеги, но может быть вы сможете вынести что-то полезное для себя )

ps, не стал смотреть доскональна все, проверил 5-6 файлов.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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