본문 바로가기
프로그래밍 놀이터/Kotlin, Coroutine

[Effective Kotlin] Item 7 : Prefer null or Failure result when the lack of result is possible

by 돼지왕 왕돼지 2022. 3. 4.
반응형

이 글은 Effective Java 를 완독하고, Kotlin 을 상용으로 사용하는 개발자 입장에서
Effective Kotlin 글 중 새로운 내용, remind 할 필요 있는 부분, 핵심 내용 등만 추려 정리한 내용입니다.

 

#
원하는 결과를 제공할 수 없을 때 다음과 같은 방법을 사용한다.

  1. null 또는 실패에 관련된 sealed class 를 return
  2. exception 던지기

exception 이 정보를 제공하는 용도로 사용해서는 안 된다.

 

#
모든 exception 은 진짜 예외적인 상황에서만 사용되어야 한다.

 

#
exception 전파는 가독성을 떨어뜨리며 이상한 상황에 빠지게 만들 수 있다.
Kotlin 에서 모든 exception 은 unchecked 이다.
exception 은 정말 예외상황에서 쓰여야 하므로, JVM 에서 이를 위한 성능개선 등은 기대하기 어렵다.
코드를 try-catch block 안에 넣는것은 compiler 를 통한 최적화를 방해한다.

 

#
null 도 괜찮지만 sealed result class 가 더 선호된다.

 

#
List.get, List.getOrNull 처럼 변형된 형태의 API 제공도 괜찮다.

 

 

 

반응형

댓글