feature-sliced / documentation

🍰 Architectural design methodology for Frontend projects
https://feature-sliced.design
MIT License
1.4k stars 146 forks source link

Add new example - Portfolio #651

Closed semklim closed 3 weeks ago

semklim commented 4 months ago

Пример с использованием React

https://github.com/semklim/portfolio

netlify[bot] commented 4 months ago

Deploy request for pr-fsd pending review.

Visit the deploys page to approve it

Name Link
Latest commit c1c29bd4459a5c4cf244039c7ba535f2213fa9a4
illright commented 4 months ago

Привет, глянул бегло код проекта и сам сайт. Как я понимаю, сайт, в основном, статичный, в том плане, что это информационная страница, а не приложение с динамическим контентом. С этой точки зрения мне кажется, что FSD в данном проекте стоит использовать намного меньше, чем есть сейчас. Например, ограничиться только слоями shared и pages, да и то, может быть, многовато, учитывая, что тут только две страницы.

Ещё немного не по назначению использованы слои сущностей и фич. На слое сущностей лежит ProjectCard, это звучит как UI-компонент в сущности project. Фичи тоже сложно оправдать, это скорее просто компоненты из shared/ui, потому что в них не зашиты бизнес-сценарии, да и не переиспользуются они.

Я думаю, этот проект не стоит включать в примеры FSD. Скажи, что думаешь на этот счёт

semklim commented 4 months ago

Привет @illright, спасибо за ревью проекта.

В защиту скажу следующее: я старался понять и реализовать на практике каждый слой. Поэтому, как и у вас в туториале <TaskCard/> - это сущность, и у меня <ProjectCard/> - это сущность. Я не выносил весь ui карточки в отдельный компонент слоя shared, так как он не будет повторятся.

Касательно фич, как по мне, не все так однозначно. Опять же, если ссылаться на туториал, переключатель выполненной / невыполненной задачи <ToggleTask/> - это фича. Почему же переключатель темы или бургер меню, или хлебные крошки не могут быть фичей?

Безусловно, можно было весь проект реализовать только в слоях shared и pages, но, как по мне, в примерах должны быть те, в которых используется как можно больше слоев. Это, как раз, и дает понять насколько может быть удобна архитектура.

Чем мой проект хуче чем проект Polka который уже добавили в примеры?

illright commented 4 months ago

Понимаю, что то, что я сказал, звучит очень странно в контексте туториала на сайте ФСД. Честно признаться — туториал написан не очень хорошо, и давно уже не отражает лучшие практики использования ФСД. Просто переписать его очень непросто, этим я занимаюсь, но прогресс по этой задаче идет очень медленно.

как по мне, в примерах должны быть те, в которых используется как можно больше слоев

как по мне, в примерах должны быть примеры удобных и легко понятных проектов. Цель тут — не собрать количество слоев, цель — сделать проект простым. В случае твоего проекта, дополнительные слои усложняют понимание проекта, по крайней мере, мне.

Чем мой проект хуче чем проект Polka который уже добавили в примеры?

С перспективы пример проекта на ФСД, твой проект содержит излишние усложнения, учитывая, что это статичный сайт. Проект Полка содержит динамические данные и реальные "бизнес-сущности", там эта декомпозиция чуть более оправдана, хоть и все равно, имхо, излишня.

semklim commented 4 months ago

Понимаю, что то, что я сказал, звучит очень странно в контексте туториала на сайте ФСД. Честно признаться — туториал написан не очень хорошо, и давно уже не отражает лучшие практики использования ФСД. Просто переписать его очень непросто, этим я занимаюсь, но прогресс по этой задаче идет очень медленно.

Я еще раз просмотрел дату, когда редактировалась статья туториала и она очень свежая (28 янв. 2024 г.). По этому принцыпу у вас много висит примеров и только мне вы говорите что этот подход устарел. Устарел чуть меньше чем за месяц.

Честно говоря, я не понимаю в чем проблема сказать мне что подправить чтобы этот проект подходил на пример использования методологии, а не говорить что Вам лично не нравиться этот проект?

illright commented 4 months ago

Чтоб этот проект был хорошим примером FSD, хотелось бы добавить в него больше функциональности, страниц, или динамических данных.

Статья туториала, на самом деле, была написана года три назад, если не больше. У нас просто криво работают указатели последнего редактирования страниц, да и недавно там были правки грамматических ошибок. Извини, что ввели в заблуждение своей писаниной. Постараюсь поскорее выкатить свои наработки по туториалу, чтоб больше не путать людей.

illright commented 4 months ago

Сделал ПР с новым туториалом, можешь почитать, если интересно, скоро смерджу — https://deploy-preview-652--pr-fsd.netlify.app/ru/

semklim commented 4 months ago

Окей, я понял

illright commented 3 weeks ago

ПР застыл, закрою его

semklim commented 3 weeks ago

Сори, у меня сильно все поменялось по этому не мог сделать проект по новой методологии.