AI Briefing

코드 품질 개선 - 세션 40: 함수를 두 개로 나누는 것이 더 나을까?

·2025.08.01 11:00

함수가 특정 데이터 형식에 의존하여 발생하는 '지식 분산' 문제를 해결하기 위해, 도메인 지식을 호출부로 옮기는 리팩터링 방법을 제안한다.

문자열 파싱을 위해 여러 버전의 Regex를 처리하는 유틸리티 객체를 구현할 때, 헬퍼 함수가 특정 데이터 형식에 대한 지식을 내포하고 있으면 문제가 발생한다. 예를 들어, 내부 함수가 특정 Regex 그룹의 인덱스나 데이터 타입을 기대하도록 설계되면, 데이터 형식에 대한 지식이 호출부와 호출부 사이에서 분산된다.

이러한 지식 분산(Split Knowledge) 문제를 해결하려면, 헬퍼 함수가 도메인 지식에 의존하지 않도록 리팩터링해야 한다. 헬퍼 함수는 단순히 Regex 매칭 결과인 그룹 값들을 반환하는 역할만 수행하고, 실제 데이터를 파싱하는 로직은 호출부로 옮기는 것이 핵심이다.

이렇게 리팩터링된 함수는 특정 데이터 형식에 종속되지 않으므로, 다른 데이터 타입(예: BarEntry)을 처리하는 로직에서도 재사용할 수 있어 코드의 범용성과 유지보수성을 높일 수 있다.

이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.

요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.