목록 보기
코드 품질 개선 기법 11편: 반복되는 호출에 함수도 지친다
백엔드

코드 품질 개선 기법 11편: 반복되는 호출에 함수도 지친다

라인
라인
2025년 5월 14일

두줄요약

수신 객체의 상태를 확인하는 로직은 해당 함수 내부로 옮기는 편이 더 안전할 수 있다고 설명했습니다.콜백보다 반환값으로 결과를 드러내면 호출 흐름도 더 명확해집니다.

핵심 내용

  • 수신 객체의 상태를 먼저 확인한 뒤 같은 객체를 변경하는 패턴은, 상태 확인을 변경 함수 내부로 옮겨 책임을 한곳에 모으는 편이 유리한 경우가 있음
  • 이미 친구인지 확인하는 로직을 호출자에 두기보다 markAsFriend 내부에서 처리해 누락 버그와 불필요한 상태 노출을 줄이는 방식 제안
  • 성공 시 콜백을 넘기는 고차 함수보다 Boolean 반환으로 결과를 명확히 드러내는 방식이 더 적절한 경우가 있음

주의할 점

  • 이미 친구일 때 아무 동작도 하지 않는 의미가 명확하지 않으면 함수명이나 주석으로 의도를 드러낼 필요
  • 반환값만으로 의도를 표현할 때는 문서화와 호출자 확인 강제가 필요할 수 있음

적용해볼 점

  • 상태 전이 함수는 자기 상태 검사를 내부화할지 검토
  • 성공/실패를 콜백보다 반환값으로 드러낼 수 있는지 점검
  • implicit precondition을 줄여 호출자 책임과 누락 가능성 완화

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...