Search
Write a publication
Pull to refresh
1
0
Андрей @Lavich

frontend developer

Send message
  1. Проблема в том, что положение кораблей противника передается в клиент. Добавляй игру на деньги и сыграем с тобой - покажу в чем проблема :)

  2. Вот, для примера, библиотека battleships-engine - она не знает ни о вебсокетах, ни о Vuex, ни о канвасе, но полностью реализует правила игры и только их.

    Посмотрел репу - думаю, остальные пункты мне нет смысла обсуждать)

Хотелось бы посмотреть проект в виде гит-репозитария, в котором я если бы делал ревью, то мог бы отметить следующее:

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

  2. Но даже если оставить как есть, то я бы предложил отделить логику игры (реализуемые правила и механики) от представления - т.е. это был бы класс/библиотека, который реализовывал бы все механики игры, и отдельно были бы компоненты, которые рисуют поле/корабли/статистику/etc

  3. Vuex уже морально устарел и вместо него даже его разработчики рекомендуют использовать Pinia, который проще и поддерживает тайпскрипт. Но в целом стор в этом приложении и не нужен.

  4. Не очевидно почему в статье упоминается Vue, и для чего он вообще нужен тут?

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

  1. Все токены для безопасности лучше всего убрать из кода в переменные окружения

  2. У "версии" не спроста есть три уровня - они показывают насколько сильно изменился пакет. Подробнее можно почитать вот здесь, например, https://semver.org/lang/ru/

  3. Этот js-скрипт можно было бы запускать в pre-push, использовав, например, husky. Тогда можно было бы избежать возни с токеном гитлаба. А запуск деплоя новой версии в npm-репозиторий можно привязать к изменению версии в package.json

Information

Rating
Does not participate
Registered
Activity

Specialization

Frontend Developer
Lead
From 300,000 ₽
JavaScript
Vue.js
TypeScript
HTML
CSS