AI Briefing

코드 품질 개선 - 세션 46: 함수는 보이는 것과 다르다

·2025.09.12 11:00

핵심 내용

함수 이름과 실제 동작의 불일치로 인한 버그를 방지하기 위해 이름과 동작의 일관성을 유지하는 설계 방법을 제안한다.

자세히 보기

FooItemRepository 클래스에서 getItem은 캐시된 값만 반환하고, getItemAsync는 캐시에 데이터가 없을 경우 fooItemStore를 통해 데이터를 조회한다. 두 함수의 이름은 단순히 동기/비동기 차이만 있는 것처럼 보이지만, 실제 데이터 조회 방식에는 큰 차이가 존재한다.

이러한 이름과 동작의 불일치는 개발자가 비동기 처리를 위해 함수를 교체할 때, 캐시에 없는 데이터를 가져오지 못하는 버그를 유발할 수 있다.

문제를 해결하기 위해서는 다음 두 가지 방법 중 하나를 선택해야 한다:

  • 이름에 맞춰 동작을 일치: getItem이 캐시뿐만 아니라 스토어에서도 데이터를 조회하도록 수정하여 비동기 버전과 동작을 통일한다.
  • 동작에 맞춰 이름을 명확히: getCachedItem이나 getOrFetchItemAsync처럼 함수의 실제 동작을 직관적으로 알 수 있는 이름을 사용한다.

이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.

AI 처리 방식을 확인하거나, 요약 오류와 출처 표기 문제, 삭제 요청을 문의 · 건의로 알려주세요.