KStore 🛒

Кайфы 👍

  • быстро и удобно разворачивать, есть readme с инструкциями

  • Шаблоны кода
  • Быстрый деплой
  • Верстка

    • легко вносить изменения

    • понятные версточные компоненты

    • css-переменные 👍

Тесты 🩺

  • unit тестов мало (8шт)
  • хотелось бы видеть тесты на хуки с логикой
  • функциональные не работают
  • скриншотных нет(

Управление состоянием 🧶

  • тяжело воспринимать состояние на react-хуках, мб нужен state manager?

  • хочется логику данных видеть в отдельном слое (MVVM?)

  • восприятие усложняется общим состоянием на все шаги + отдельным для каждого шага

  • часть данных прокидывается в компоненты через props drilling (напр. cartId), а часть через контекст

ИМХО хуки для сложной бизнес логики неоч подходят, или надо учиться их готовить.

основное состояние

состояние шагов + логика основного состояния (батчинг, шаги) 

??

тут тоже логика данных

Батчинг и очередь ⏳

  • сложная логика объединения изменений в запрос

  • баг если изменять корзину в двух вкладках

  • очереди и батчингу не место на фронте, утащить бы на бэк

  • с фронта хотелось бы тупо вызывать метод и кидать и кидать в него текущее состояние

  • избыточная задержка 1,5 сек (?)

Шаг - Товары

Непонятные места, мелочи

  • сугубо моё имхо ramda скорее усложняет код чем облегчает его

  • Вроде есть общие валидации в form/utils, но они почему-то зависят от селекторов из cart/entities/Requisites, в таком случае они получается относятся только к реквизитам и наверное должны лежать вместе с ними где-то?

  • Не очень понятно почему App загружается отдельным чанком

  • В createCartContent sort мутирует параметры функции

  • requestStatus - не очень честно отображает статус данных, не меняется при revalidate

  • Сложная логика с stateDependencies и loadStage не сразу понял зачем она и почему не используется Ract.lazy. Потом понял что это паттерн предзагрузки страницы перед отображением.

  • useRequestEffect - клевый хэлпер включающией в себя возню с загрузкой данных и отслеживанием статуса загрузки, странно что не используется повсеместно. Кажется он мог бы упростить CartContextProvider

Все, Спасибо)

deck

By Andrey Osipov

deck

  • 389