Feature-based vs Layer-based 어떤 구조를 사용해야 할까?
·
Frontend/Tech Insight
🚀 서론프로젝트를 진행할 때마다 저는 오랫동안 Layer-based 구조로 개발해 왔습니다. 처음 회사에서 접한 컨벤션에 익숙해지기도 했고, 컴포넌트는 components, 훅은 hooks, 유틸리티는 utils에 두는 방식이 자연스럽게 몸에 배어 있었습니다. 그래서 초기에는 큰 불편함을 느끼지 못했습니다.하지만 프로젝트 규모가 커지고 기능이 복잡해질수록 몇 가지 문제가 반복해서 드러나기 시작했습니다.기능 코드의 분산: 새로운 기능을 만들 때마다 역할별 폴더에 나누어 작성하다 보니, 하나의 기능과 관련된 코드가 여러 폴더에 흩어지는 상황이 발생했습니다.예: user 기능 구현 시hooks/user/useUserQuery.tsutils/user/user-format.tscomponents/user/use..