TIL

아이템 17 이름 있는 아규먼트를 사용하라

val text = (1..10).joinToString("|")
val text = (1..10).joinToString(separator = "|")

이름 있는 아규먼트는 언제 사용해야 할까?

sleep(100) // 단위가 명확하지 않다

sleep(timeMillis = 100) // ms임이 명확하다

sleep(Millis(100)) // 타입을 명확히 하는 방법도 있긴 하다.

sleep(100.ms) // 확장 프로퍼티로 DSL 같은 문법을 만들 수도 있긴 하다.

디폴트 아규먼트의 경우

같은 타입의 파라미터가 많은 경우

sendEmail(
	to = "contact@kt.academy",
	message = "hello",
)

함수 타입 파라미터

thread { // 이후 블록이 스레드 본문이라는 것을 쉽게 알 수 있다.
	// ...
}
val view = linearLayout {
	text("Click velow")
	button({/* 1 */}, {/* 2 */}) // 어떤 부분이 무엇인지 명확하지 않다.
}