커스텀 훅 추출 → 과잉 추상화 경험 → 순수 함수로 테스트 가능하게
코드 중복 문제를 처음 의식한 건 같은 API 호출 패턴이 화면마다 복붙돼 있는 걸 발견했을 때였습니다. 로직이 보이면 바로 추출하는 것이 먼저라고 봐서, 공통 부분을 useApiRequest라는 커스텀 훅으로 묶었습니다. 그런데 추상화를 너무 일찍 하면 요구사항이 달라질 때 오히려 변경 비용이 커지는 경우를 경험했고, 이후엔 세 군데 이상 반복될 때 추출을 고려하는 기준을 팀과 공유하게 됐습니다. 유틸 함수는 순수 함수로 만들어 테스트 가능하게 유지하는 습관이 생겼고, 그게 나중에 단위 테스트를 붙이는 비용을 크게 낮춰줬습니다.
잘못 추상화된 코드가 중복 코드보다 관리하기 더 어렵다는 걸 직접 겪으며 배웠습니다.