반응형
이 글은 Effective Java 를 완독하고, Kotlin 을 상용으로 사용하는 개발자 입장에서
Effective Kotlin 글 중 새로운 내용, remind 할 필요 있는 부분, 핵심 내용 등만 추려 정리한 내용입니다.
#
named argument 는 variable naming 에 비해 더 신뢰도가 있다.
개발자가 잘못된 position 에 값을 assign 하거나, 함수의 argument position 이 변경된 경우 등에 유연하게 대처 가능하다.
val text = (1..10).joinToString(separator = "|")
val separator = "|"
val text = (1..10).joinToString(separator)
When should we use named arguments?
#
named argument 는 확실히 더 길지만, 2가지 중요한 장점을 갖는다.
- 이름이 어떤 값이 기대되는지를 보여준다.
- arg 순서와 관계없이 안전하다.
#
sleep(100)
sleep(timeMillis = 100)
sleep(Millis(100))
sleep(100.ms) // DSL style
#
다음의 경우 특히 named argument 가 추천된다.
- default argument 가 있는 경우
- 같은 type 의 param 을 여러 개 받는 경우
- function type 이 마지막 param 이 아닌 경우
Parameters with default arguments
Many parameters with the same type
Parameters of function type
#
Java 는 named argument 를 지원하지 않기 때문에, java lib 의 것에 대해 named argument 를 사용하기 위해서는 kotlin wrapper 가 필요할 수 있다.
Summary
끝
반응형
댓글