Closed UmttikhinaDasha closed 3 months ago
Visit the deploys page to approve it
Name | Link |
---|---|
Latest commit | de05da9b3cee6aeaeae317da59099c9ad323b988 |
Привет, спасибо за пример! Есть несколько пунктов фидбека:
Немного смущает папка shared/lib/hooks
. В целом, FSD рекомендует не группировать вещи по тому, чем они являются (хуки, например), а вместо этого группировать по назначению (например, это для UI, а другое — для API). В случае shared/lib, идеальной для этой папки структурой является плоская коллекция мини-библиотечек, каждая из которых строго определяет свое назначение. В данном случае может быть тяжело выделить useDebounce
и usePrevious
в отдельные библиотеки, и тем не менее, назначение у них разное. Я бы предложил lib/debounce
и lib/state
соответственно. category
можно, в целом, оставить и так, но это название не очень передает мне, какой код в этот файл можно добавить, а какой — нельзя. Вижу, что эта функция используется только в одном месте, я бы не парился и просто перенес ее туда, к месту использования.
(не блокер) Вайлдкард-экспорты (export * from
) немного мешают цели индекс-файлов ограничить публичный API. В будущем может быть сложнее это изменить, поэтому лучше сразу прописывать экспорты вручную. Заодно это будет еще одним аргументом не класть что-то в shared, а оставить по месту использования
(не блокер) Советую выдерживать постоянство в названиях сущностей между единственным и множественным числом. Либо так (authors), либо иначе (book), а то на этой почве могут возникать непродуктивные разногласия между разработчиками в команде
Заметил, что фича toggleTheme
используется только в одном месте, советую тоже перенести к месту использования. В целом, чем меньше фич — тем лучше, проще находиться по проекту.
(не блокер) Кажется, в src/widgets/navigationMenu
пропущено деление на сегменты. Не большая проблема, но указывает на кое-что другое. Этот виджет тоже используется только в одном месте, думаю, можно безболезненно перенести его в layout сегмент, тогда не придется создавать сегмент :)
Но вот на слое pages деления на сегменты явно не хватает, чтоб в дальнейшем было легче добавлять код туда
Скажи, что думаешь насчет этих пунктов
Спасибо за фидбек!
Изменения залила
Пример с использованием React, TypeScript, Redux Toolkit для просмотра и поиска книг, связанных с IT сферой.
https://github.com/UmttikhinaDasha/IT-Bookstore