Методология подразумевает, что они будут лежать именно там, т.к. на слоях выше им просто нет места + нет понимания, будет ли это переиспользоваться в будущем. Каждая папка подразумевает свой слой составных частей приложения. В entities, который находится над shared, уже просто нет места для какой-то уникальной кнопки. А ещё выше для неё тем более не найдётся места, т.к. уже целые фичи да процессы лежат.
P.S. ознакомился сейчас с документацией ещё раз. Судя по всему, эту проблему уже решили, дав возможность на любой слое использовать слайсы (кроме App и Shared) и сегменты, что в принципе позволяет на двух соседних страницах или в двух соседних виджетах создать папки ui, где будут лежать их уникальные компоненты.
Была папка utils как Война и мир, а теперь папка shared как две войны и мир стала)
Подход удобен, когда страницы ± похожи между собой. А когда у тебя 50 экранов высотой в 3 экрана и общее между ними только хедер, от чего папка shared по методологии становится вместилещем для 300+ блоков - тут уж не до смеха. Ведь по FSD мы импортируем все файлы из нижних уровней, а на текущем должно быть только то, что к нему относится.
Разбивать на части не нужно, но как минимум алгоритм разбить на смысловые части, обозначить в функцию, дать нормальное название и переиспользовать в дальнейшем - необходимо. Код будет сам себя документировать.
Методология подразумевает, что они будут лежать именно там, т.к. на слоях выше им просто нет места + нет понимания, будет ли это переиспользоваться в будущем. Каждая папка подразумевает свой слой составных частей приложения. В entities, который находится над shared, уже просто нет места для какой-то уникальной кнопки. А ещё выше для неё тем более не найдётся места, т.к. уже целые фичи да процессы лежат.
P.S. ознакомился сейчас с документацией ещё раз. Судя по всему, эту проблему уже решили, дав возможность на любой слое использовать слайсы (кроме App и Shared) и сегменты, что в принципе позволяет на двух соседних страницах или в двух соседних виджетах создать папки ui, где будут лежать их уникальные компоненты.
Была папка utils как Война и мир, а теперь папка shared как две войны и мир стала)
Подход удобен, когда страницы ± похожи между собой. А когда у тебя 50 экранов высотой в 3 экрана и общее между ними только хедер, от чего папка shared по методологии становится вместилещем для 300+ блоков - тут уж не до смеха. Ведь по FSD мы импортируем все файлы из нижних уровней, а на текущем должно быть только то, что к нему относится.
Разбивать на части не нужно, но как минимум алгоритм разбить на смысловые части, обозначить в функцию, дать нормальное название и переиспользовать в дальнейшем - необходимо. Код будет сам себя документировать.
А портянка сродни обфусцированному коду)