Проблема в том, что положение кораблей противника передается в клиент. Добавляй игру на деньги и сыграем с тобой - покажу в чем проблема :)
Вот, для примера, библиотека battleships-engine - она не знает ни о вебсокетах, ни о Vuex, ни о канвасе, но полностью реализует правила игры и только их.
Посмотрел репу - думаю, остальные пункты мне нет смысла обсуждать)
Хотелось бы посмотреть проект в виде гит-репозитария, в котором я если бы делал ревью, то мог бы отметить следующее:
Никогда нельзя доверять пользователю (даже в учебном или пет-проекте), и следовало бы перенести логику игры на бекенд.
Но даже если оставить как есть, то я бы предложил отделить логику игры (реализуемые правила и механики) от представления - т.е. это был бы класс/библиотека, который реализовывал бы все механики игры, и отдельно были бы компоненты, которые рисуют поле/корабли/статистику/etc
Vuex уже морально устарел и вместо него даже его разработчики рекомендуют использовать Pinia, который проще и поддерживает тайпскрипт. Но в целом стор в этом приложении и не нужен.
Не очевидно почему в статье упоминается Vue, и для чего он вообще нужен тут?
Думаю, важно в самом начале объяснить коллегам для чего собственно это ретро нужно и иногда об этом напоминать - для закрепления положительных и устранения отрицательных факторов в работе. А иначе так и будете получать на ретро карточки в стиле "провальные продажи дивана на Авито" или вариант с моей работы - "не работающая морозилка в холодильнике на съемной квартире", которые никуда не ведут, но тратят время и мысли команды. Тогда можно улучшить качество ретро и сократить время его проведения.
У "версии" не спроста есть три уровня - они показывают насколько сильно изменился пакет. Подробнее можно почитать вот здесь, например, https://semver.org/lang/ru/
Этот js-скрипт можно было бы запускать в pre-push, использовав, например, husky. Тогда можно было бы избежать возни с токеном гитлаба. А запуск деплоя новой версии в npm-репозиторий можно привязать к изменению версии в package.json
Проблема в том, что положение кораблей противника передается в клиент. Добавляй игру на деньги и сыграем с тобой - покажу в чем проблема :)
Вот, для примера, библиотека battleships-engine - она не знает ни о вебсокетах, ни о Vuex, ни о канвасе, но полностью реализует правила игры и только их.
Посмотрел репу - думаю, остальные пункты мне нет смысла обсуждать)
Хотелось бы посмотреть проект в виде гит-репозитария, в котором я если бы делал ревью, то мог бы отметить следующее:
Никогда нельзя доверять пользователю (даже в учебном или пет-проекте), и следовало бы перенести логику игры на бекенд.
Но даже если оставить как есть, то я бы предложил отделить логику игры (реализуемые правила и механики) от представления - т.е. это был бы класс/библиотека, который реализовывал бы все механики игры, и отдельно были бы компоненты, которые рисуют поле/корабли/статистику/etc
Vuex уже морально устарел и вместо него даже его разработчики рекомендуют использовать Pinia, который проще и поддерживает тайпскрипт. Но в целом стор в этом приложении и не нужен.
Не очевидно почему в статье упоминается Vue, и для чего он вообще нужен тут?
Думаю, важно в самом начале объяснить коллегам для чего собственно это ретро нужно и иногда об этом напоминать - для закрепления положительных и устранения отрицательных факторов в работе. А иначе так и будете получать на ретро карточки в стиле "провальные продажи дивана на Авито" или вариант с моей работы - "не работающая морозилка в холодильнике на съемной квартире", которые никуда не ведут, но тратят время и мысли команды. Тогда можно улучшить качество ретро и сократить время его проведения.
Все токены для безопасности лучше всего убрать из кода в переменные окружения
У "версии" не спроста есть три уровня - они показывают насколько сильно изменился пакет. Подробнее можно почитать вот здесь, например, https://semver.org/lang/ru/
Этот js-скрипт можно было бы запускать в
pre-push
, использовав, например,husky
. Тогда можно было бы избежать возни с токеном гитлаба. А запуск деплоя новой версии в npm-репозиторий можно привязать к изменению версии вpackage.json