[Effective Kotlin] 아이템 17. 이름 있는 아규먼트를 사용하라

Jimin Lim·2023년 7월 22일
0

Effective Kotlin

목록 보기
17/39
post-thumbnail

아이템 17

Named Argument 를 사용하라

✅ 이름있는 아규먼트

val text = (1..10).joinToString("I") //(1)Bad 'I'의 의미를 알 수 없음
val text = (1..10).joinToString(separator = "I") //(2)Good

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

(2)와 같이 인자의 이름을 명확히 지정해주면 이해하기 쉬운 코드가 될 수 있다. 또는 (3)처럼 변수를 지정해 의미를 명확히 할 수 있지만 제대로 사용하는지 신뢰할 수 없다.

따라서 Named Argument를 사용하는 것이 좋다.

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

장점

  1. 이름을 기반으로 값이 무엇인지 알 수 있음
  2. 파라미터 입력 순서와 상관 없어 안전함

특히 (1)디폴트 아규먼트, (2)같은 타입의 파라미터가 많은 경우, (3)함수 타입의 파라미터가 있는 경우 이름있는 아규먼트를 더욱 추천한다.

디폴트 아규먼트

일반적으로 함 수 이름은 필수 파라미터들과 관련되어 있어 디폴트 값을 갖는 옵션 파라미터의 설명이 명확하지 않다. 따라서 이름을 붙이는 것이 좋다.

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

모두 다른 타입이라면, 타입 오류가 발생하지만 같은 타입이면 문제를 찾아내기 어렵다.

함수 타입의 파라미터가 있는 경우

일반적으로 함수 타입 파라미터는 마지막 위치에 배치하는 것이 좋다. repeat 이나 thread 와 같은 이름들도 일반적으로 마지막에 위치하는 함수 파라미터에 대해서만 설명한다.

또한 여러 함수 타입의 옵션 파라미터가 있다면 더더욱 헷갈리므로 이름있는 아규먼트를 사용하자!

profile
💻 ☕️ 🏝 🍑 🍹 🏊‍♀️

0개의 댓글