Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
Tags
- web
- frontend
- react
- SRE
- HTTP
- backend
- auth
- Kubernetes
- database
- JavaScript
- Microservices
- Performance
- version-control
- Debugging
- DevOps
- observability
- Security
- Operations
- NextJS
- reliability
- 버전관리
- Infra
- 성능
- architecture
- Git
- API
- aws
- Ops
- CI
- CSS
Archives
- Today
- Total
고민보단 실천을
FSD 안티패턴 정리: shared 비대화·순환 의존·feature 경계 붕괴 해결법 본문
FSD 안티패턴 정리: shared 비대화·순환 의존·feature 경계 붕괴 해결법
FSD를 도입해도 규칙을 지키지 않으면 shared 쓰레기통화, 레이어 역참조, 기능 경계 붕괴가 발생한다. 안티패턴을 조기 탐지하는 운영 규칙이 중요하다. 검색 유입이 많은 키워드(폴더 구조, 마이그레이션, 안티패턴, 상태관리)를 기준으로 실무 적용 포인트를 정리했다.
핵심 개념
실무에서 먼저 결정할 기준
이 주제는 코드 배치 기준을 먼저 정하고, 이후 네이밍과 import 경계를 린트로 고정하는 순서가 가장 안정적이다.
핵심 요소 3~6개
| 항목 | 의미 | 언제 쓰는지(실무 상황) |
|---|---|---|
| Shared 비대화 | 모든 코드를 shared로 몰아넣는 현상 | 빠른 개발 명목으로 경계를 우회할 때 |
| 순환 의존 | 서로 참조해 변경 파급이 커짐 | features 간 직접 import를 허용했을 때 |
| Feature 경계 붕괴 | 한 feature가 다른 feature 내부를 참조 | public API 없이 내부 경로 import할 때 |
| God Widget | widgets에 과도한 비즈니스 로직 집중 | 페이지 조합 계층이 기능 계층을 침범할 때 |
| 규칙 미검증 | 문서만 있고 자동 검증 부재 | 코드리뷰만으로 구조 품질을 보장하려 할 때 |
예시 코드
bad: features/cart/ui/panel.tsx -> import ../../payment/model/store
good: features/payment/index.ts public API를 통해 접근문제 상황 1개
상황: 기능 하나를 수정하면 예상 못한 다른 화면까지 연쇄 오류가 난다.
원인: 내부 경로 import와 순환 의존이 누적돼 경계가 무너졌다.
해결: dependency-cruiser/ESLint 규칙으로 레이어 위반을 차단하고 feature public API만 허용한다.
예방 팁: 월 1회 아키텍처 헬스체크로 순환 의존/공용 모듈 비대화를 측정한다.
참고/출처
공식 문서: FSD Public API
공식 문서: FSD Import Rule
신뢰 자료: dependency-cruiser
'FE' 카테고리의 다른 글
| FSD 패턴 입문: Layer·Slice·Segment 구조를 실무에서 적용하는 방법 (0) | 2026.02.25 |
|---|---|
| FSD 마이그레이션 가이드: 기존 프론트엔드 구조를 단계적으로 전환하는 순서 (0) | 2026.02.25 |
| Atomic Design vs FSD 비교: UI 계층과 도메인 계층을 함께 설계하는 기준 (0) | 2026.02.25 |
| react에서 api 테스트 코드 작성하는 방 (feat. react testing library, mock api) (3) | 2023.08.31 |
| React 비동기 작업을 위한 테스트 하는법 (feat. React testing library) (0) | 2023.08.25 |
Comments
