Notice
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 플러터 설치 2022
- 2022 플러터 설치
- 객체
- jvm 작동 원리
- 안드로이드 os 구조
- ar vr 차이
- 멤버변수
- 안드로이드 유닛 테스트
- Rxjava Observable
- 안드로이드 유닛테스트란
- 자바 다형성
- android ar 개발
- 안드로이드 라이선스
- 안드로이드 유닛 테스트 예시
- 스택 큐 차이
- ANR이란
- rxjava disposable
- rxjava cold observable
- jvm이란
- 2022 플러터 안드로이드 스튜디오
- rxjava hot observable
- 안드로이드 레트로핏 crud
- 클래스
- 안드로이드 레트로핏 사용법
- 서비스 vs 쓰레드
- 안드로이드 라이선스 종류
- android retrofit login
- 큐 자바 코드
- 스택 자바 코드
- 서비스 쓰레드 차이
Archives
- Today
- Total
나만을 위한 블로그
[이펙티브 코틀린] 아이템 14. 변수 타입이 명확하지 않은 경우 확실하게 지정하라 본문
728x90
반응형
코틀린은 개발자가 타입을 지정하지 않아도 타입을 지정해서 넣어주는 수준 높은 타입 추론 시스템을 갖고 있다.
val num = 10
val name = "Marcin"
val ids = listOf(12, 111, 554, 2982)
이는 개발 시간을 줄여줄 뿐 아니라 유형이 명확할 때 코드가 짧아지므로 코드 가독성이 크게 향상된다. 하지만 유형이 명확하지 않을 때는 남용하면 좋지 않다.
val data = getSomeData()
위 코드는 타입을 숨기고 있다. 가독성을 위해 코드를 설계할 때 읽는 사람에게 중요한 정보를 숨겨선 안 된다.
'코드를 읽으면서 함수 정의를 보며 타입을 확인하면 되지 않나?' 라고 생각할 수 있지만 이는 곧 가독성이 떨어진다는 의미다. 또한 코드 정의로 쉽게 이동할 수 없는 깃허브 등의 환경에서 코드를 읽을 수도 있다.
사람도 작업할 때 활용할 수 있는 메모리는 한정적이므로 이런 것에 쓸데없이 메모리를 낭비하는 건 좋지 않다. 아래처럼 타입을 지정하면 코드를 훨씬 쉽게 읽을 수 있다.
val data: UserData = getSomeData()
가독성 향상 이외에 안전을 위해서도 타입을 지정하는 게 좋다. 타입은 개발자와 컴파일러 모두에게 중요한 정보지만 타입을 무조건 지정하라는 게 아니다. 상황에 맞게 사용하라.
반응형
'책 > Effective Kotlin' 카테고리의 다른 글
[이펙티브 코틀린] 아이템 16. 프로퍼티는 동작이 아닌 상태를 나타내야 한다 (0) | 2022.07.24 |
---|---|
[이펙티브 코틀린] 아이템 15. 리시버를 명시적으로 참조하라 (0) | 2022.07.18 |
[이펙티브 코틀린] 아이템 13. Unit?을 리턴하지 마라 (0) | 2022.07.10 |
[이펙티브 코틀린] 아이템 12. 연산자 오버로드를 할 때는 의미에 맞게 써라 (0) | 2022.07.10 |
[이펙티브 코틀린] 아이템 11. 가독성을 목표로 설계하라 (0) | 2022.06.19 |
Comments