Related Issue
#921
Overview
현재 view 패키지의 공통 컴포넌트는 src/components/@common/에 위치합니다. 일반 컴포넌트 폴더와 구분하기 위한 @ prefix가 존재하는데, 네이밍/폴더 구조 측면에서 아쉬운 점이 있어 개선을 제안합니다.
아쉬운 점
- 특수문자
@ 사용: 일반적으로 @는 패키지 스코프 관례이기도 하고 path alias에 자주 사용되는 표기로, 도구/사람 모두 혼동 가능성이 있음
src/components/ 하위에 도메인 컴포넌트와 공통 컴포넌트가 혼재되어 있어 스코프가 불명확함
- 프로젝트 기존 컨벤션과도 맞지 않음
@만 제거(src/components/common/) -> 다른 컴포넌트 폴더(PascalCase)와 달리 소문자라 일관성 X
src/components/Common/으로 변경 → 단일 컴포넌트로 오해할 수 있음
제안
옵션 1: src/shared/ui/
src/
├─ components/ # 도메인 컴포넌트
│ ├─ Detail/
│ ├─ FilteredAuthors/
│ └─ ...
└─ shared/
└─ ui/ # 공통 컴포넌트
├─ Author/
├─ GithubIssueLink/
└─ ...
- 레이어 의미가 명확함(
shared/ui/)
shared/hooks, shared/lib 등 추후 확장 용이
옵션 2: src/common/
src/
├─ components/ # 도메인 컴포넌트
│ ├─ Detail/
│ ├─ FilteredAuthors/
│ └─ ...
└─ common/ # 공통 컴포넌트
├─ Author/
├─ GithubIssueLink/
└─...
- 옵션 1보다는 적은 중첩 구조
common의 범위가 모호함
논의 내용
- 둘 중에 어떤 옵션을 선호하시나요? 혹은 더 좋은 방안이 있다면 의견 주세요.
- 향후 다른 공통 코드(hooks, utils)도 같은 부모 디렉터리에 위치시켜야 할까요?
Related Issue
#921
Overview
현재 view 패키지의 공통 컴포넌트는
src/components/@common/에 위치합니다. 일반 컴포넌트 폴더와 구분하기 위한 @ prefix가 존재하는데, 네이밍/폴더 구조 측면에서 아쉬운 점이 있어 개선을 제안합니다.아쉬운 점
@사용: 일반적으로@는 패키지 스코프 관례이기도 하고 path alias에 자주 사용되는 표기로, 도구/사람 모두 혼동 가능성이 있음src/components/하위에 도메인 컴포넌트와 공통 컴포넌트가 혼재되어 있어 스코프가 불명확함@만 제거(src/components/common/) -> 다른 컴포넌트 폴더(PascalCase)와 달리 소문자라 일관성 Xsrc/components/Common/으로 변경 → 단일 컴포넌트로 오해할 수 있음제안
옵션 1: src/shared/ui/
shared/ui/)shared/hooks,shared/lib등 추후 확장 용이옵션 2: src/common/
common의 범위가 모호함논의 내용