Ответ
High Cohesion в FSD (Feature-Sliced Design) означает, что модули или слои приложения должны быть тесно связаны внутри своей функциональной области, но слабо связаны с другими. Это повышает читаемость и поддерживаемость кода.
Пример:
// Плохо: низкая связность (разные ответственности в одном модуле)
function fetchUserAndRenderProfile(userId) {
// Загрузка данных
const user = await api.fetchUser(userId);
// Рендеринг
renderProfile(user);
}
// Хорошо: высокая связность (разделение на feature-слои)
// features/profile/api.ts
export const fetchUserProfile = (userId) => api.fetchUser(userId);
// features/profile/ui/Profile.tsx
export const Profile = ({ user }) => <div>{user.name}</div>;
Ключевые принципы:
- Каждый модуль решает одну четкую задачу
- Логика группируется по бизнес-назначению
- Минимизация зависимостей между слоями