[Effective Kotlin] 아이템 13. Unit?을 리턴하지 말라

Jimin Lim·2023년 7월 21일
0

Effective Kotlin

목록 보기
13/39
post-thumbnail

아이템 13

Unit?을 리턴하지 말라

Unit은 Unit 또는 null을 가질 수 있다.

//Boolean 사용
fun keyIsCorrect(key: String): Boolean = //...

if (!keyIsCorrect(key = "key")) return
//Unit? 사용
fun verifyKey(key: String): Unit? = //...

verifyKey(key = "key") ?: return

위는 각각 Boolean, Unit?을 이용해 유효성을 확인하는 코드다. 하지만 null로 유효성을 판단하는 것은 예측하기 어려운 오류를 만들 수 있다.

//예측하기 어려운 오류 예시 
getData()?.let { view.showData(it) } ?: view.showError()

위와 같이 작성한다면 getData() -> not null, showDate() -> null 결과값을 낸다면 showData와 showError 둘 다 발생한다.

if (!keyIsCorrect(key)) return
    
verifyKey("key") ?: return

확실히 Boolean이 가독성이 좋다!

profile
💻 ☕️ 🏝 🍑 🍹 🏊‍♀️

0개의 댓글