보통 프론트엔드 프로젝트를 시작할 때면 아래와 비슷한 루트 폴더 구조를 구성했습니다.
components, hooks, utils처럼 파일의 역할별로 폴더를 나누는 방식인데요. 프로젝트가 작을 때는 어디에 뭘 둘지 고민할 필요가 없어 이걸로 충분합니다.
문제는 기능을 붙여갈수록 컴포넌트 파일 하나가 200줄, 300줄을 넘기면서 시작됩니다. 길어진 함수와 비즈니스 로직, 상수, 컴포넌트를 파일로 쪼개 한 파일의 가독성은 챙길 수 있지만, 이번엔 components, hooks, utils 폴더마다 파일이 수십 개로 불어나 어디서부터 봐야 할지 막막해집니다.