목록 보기
코드 품질 개선 기법 16편: 불이 'null'인 굴뚝에 연기가 'null'이 아닐 수 없다
아키텍처

코드 품질 개선 기법 16편: 불이 'null'인 굴뚝에 연기가 'null'이 아닐 수 없다

라인
라인
2025년 7월 9일

두줄요약

널 객체 패턴은 호출부를 단순하게 만들 수 있지만, 오류 값과 정상 값을 구분해야 할 때는 부적합했습니다. 타입으로 구분 가능한 경우에는 Optional이나 null 같은 정적 표현을 우선 고려해야 했습니다.

핵심 내용

  • 널 객체 패턴은 null 같은 값을 대체해 호출부를 단순하게 만들 수 있는 설계 기법
  • 경계 조건과 일반 로직을 함께 다뤄도 되는 경우에는 유용하지만, 오류 값과 정상 값을 명확히 구분해야 하면 부적합
  • 타입으로 구분 가능한 경우에는 Optional, Maybe, Kotlin null, Swift nil 같은 정적 검증 방식이 더 바람직
  • 동일성과 동등성 차이로 인해 널 객체 판별이 예상치 못한 버그를 만들 수 있음

적용해볼 점

  • 오류 값을 구분해야 하는지 먼저 판단하고 널 객체 패턴 사용 여부 결정
  • 판별 누락이 버그로 이어질 수 있는 구조라면 타입 기반 표현 검토
  • List의 null과 빈 목록처럼 오류 후보가 여러 개면 표현 방식 재검토

댓글 0

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

댓글을 불러오는 중...