코드 품질 개선 - 세션 48: 와일드 인자(Wild arguments)
·2025.10.16 11:00
범용적인 인자를 사용하는 팩토리 함수는 코드의 유연성과 견고성을 저해하므로, 각 객체에 맞게 파싱 책임을 분리해야 한다.
도형 데이터를 문자열로 받아 처리할 때, 모든 도형에 공통으로 적용되는 팩토리 함수를 만들면서 param1, param2와 같은 **와일드 인자(Wild arguments)**를 사용하는 경우가 있다. 이는 인자의 의미가 도형의 종류에 따라 완전히 달라지기 때문에 발생하는 문제다.
이러한 방식은 두 가지 주요 문제를 야기한다.
- 유연성 저하: 새로운 도형을 추가하거나 인자의 개수 및 타입을 변경할 때, 기존의 모든 함수 시그니처를 수정해야 하는 번거로움이 있다.
- 견고성 저하: 인자 개수가 제각각일 경우 이를 검증하는 코드가 복잡해지며, 이는 런타임 에러로 이어질 가능성을 높인다.
예를 들어, 정수형 인자만 받는 함수에 문자열 데이터를 포함하는 새로운 도형을 추가하려면 함수의 타입을 Any로 바꾸는 등 기존 코드를 대폭 수정해야 한다. 이를 해결하려면 문자열을 해석하는 책임을 공통 로직에 두지 말고, 각 도형(Shape) 모델이 직접 담당하도록 설계해야 한다.
이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.
요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.