동적 폼 컴포넌트의 복잡성을 추상화로 해결한 경험으로 완결
프론트엔드 프로젝트에서 다양한 필드 타입이 혼합된 동적 폼을 구현하는 것이 가장 복잡했습니다. 필드 타입마다 별도의 컴포넌트를 만들다 보니 코드가 중복되고 유지보수가 어려워졌습니다. 스키마 기반 폼 렌더링 방식을 도입하여 필드 설정을 JSON으로 정의하면 컴포넌트가 자동으로 그에 맞게 렌더링하도록 추상화하였습니다.
처음에는 추상화 수준을 어떻게 정할지 판단하기 어려웠으나, 필드 타입이 추가될 때마다 코드 변경 없이 JSON만 바꿔도 되는 수준을 목표로 설정하였습니다. 추상화는 유연성과 복잡도의 균형을 잡는 과정이라는 것을 그 프로젝트에서 배웠습니다. 과도하게 추상화하면 오히려 이해하기 어려워진다는 것도 알게 되었습니다.