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

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

라인
라인
2025년 5월 14일

두줄요약

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

핵심 내용

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

주의할 점

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

적용해볼 점

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

다음 읽기

#Kotlin 주제를 이어서 읽기

코드 품질 개선 기법 2편: 확인 여부를 확인했나요?

함수는 값이 이미 확인됐다는 암묵적 가정에 의존하지 않도록 설계해야 합니다. 내부 검증, 반환값 처리, 타입 보장으로 책임을 명확히 나누는 방법을 소개했습니다.

라인
라인
프론트엔드

댓글 0개

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

댓글을 불러오는 중...