콘텐츠로 이동

FAQ

프로젝트 구조가 FSD 규칙에 맞는지 점검하는 Steiger Linter 가 있습니다. 또한 CLI나 IDE 확장을 통해 사용할 수 있는 FSD 구조 생성 도구 도 제공합니다.

Page Layout / Template은 어디에 보관해야 하나요?

섹션 제목: “Page Layout / Template은 어디에 보관해야 하나요?”

단순한 마크업이라면 shared/ui에 두는 것이 일반적입니다. 레이아웃이 간단하다면 별도 추상화 없이 각 페이지에 직접 작성해도 됩니다. 복잡한 구조라면 별도 Widget이나 Page로 분리해 App Router(Nested Routing 포함)에서 조합하세요.

Feature와 Entity의 차이는 무엇인가요?

섹션 제목: “Feature와 Entity의 차이는 무엇인가요?”
구분정의예시
Entity애플리케이션이 다루는 비즈니스 개체user, product
Feature사용자가 Entity로 수행하는 상호작용로그인, 장바구니 담기

더 자세한 설명과 코드 예시는 Slices 문서에서 확인할 수 있습니다.

Pages, Features, Entities를 서로 포함할 수 있나요?

섹션 제목: “Pages, Features, Entities를 서로 포함할 수 있나요?”

가능합니다. 다만 상위 Layer에서만 조합해야 합니다. 예를 들어, Widget 내부에서는 여러 Feature를 propschildren 형태로 조합할 수 있습니다. 하지만 한 Feature가 다른 Feature를 직접 import 하는 것은 Layer Import 규칙에 따라 금지됩니다.

Atomic Design을 함께 사용할 수 있나요?

섹션 제목: “Atomic Design을 함께 사용할 수 있나요?”

궁금하다면 예시를 참고하세요. FSD는 Atomic Design 사용을 제한하지 않습니다. 필요하다면 ui Segment 안에서 Atomic 분류를 적용할 수 있습니다.

FSD 관련 참고 자료가 더 있나요?

섹션 제목: “FSD 관련 참고 자료가 더 있나요?”

더 다양한 예제와 자료는 feature-sliced/awesome에서 확인할 수 있습니다.

Feature-Sliced Design이 필요한 이유는 무엇인가요?

섹션 제목: “Feature-Sliced Design이 필요한 이유는 무엇인가요?”

FSD는 프로젝트를 핵심 기능 단위로 명확하게 구조화할 수 있도록 돕습니다. 표준화된 구조는 온보딩 속도를 높이고, 폴더 구조에 대한 불필요한 논쟁을 줄여 줍니다. 자세한 배경은 Motivation 페이지를 참고하세요.

주니어 개발자도 아키텍처 방법론이 필요할까요?

섹션 제목: “주니어 개발자도 아키텍처 방법론이 필요할까요?”

필요합니다. 혼자 개발할 때는 구조의 중요성이 잘 느껴지지 않지만, 새로운 팀원이 합류하거나 개발이 일시적으로 중단되더라도, 명확한 구조 덕분에 프로젝트를 쉽게 이어갈 수 있습니다.

인증(Auth) Context는 어떻게 다루나요?

섹션 제목: “인증(Auth) Context는 어떻게 다루나요?”

관련 예시는 Auth 예제 가이드에서 확인할 수 있습니다.