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

[Effective Kotlin] Item 17 : Consider naming arguments

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

이 글은 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가지 중요한 장점을 갖는다.

  1. 이름이 어떤 값이 기대되는지를 보여준다.
  2. arg 순서와 관계없이 안전하다.

 

#

sleep(100)
sleep(timeMillis = 100)
sleep(Millis(100))
sleep(100.ms) // DSL style

 

#
다음의 경우 특히 named argument 가 추천된다.

  1. default argument 가 있는 경우
  2. 같은 type 의 param 을 여러 개 받는 경우
  3. 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

 

 

 

반응형

댓글