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이 가독성이 좋다!