일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- Kotlin
- 깃
- compose
- Android
- UnitTest
- ViewModel
- 단위테스트
- dagger2
- 코틀린
- Jetpack
- 코딩테스트
- mock
- 컴포즈
- Observable
- 파이썬
- git
- 안드로이드
- 제한함수
- Di
- 자료구조
- 디자인패턴
- 안드로이드 디자인패턴
- 테스트의 장점
- 안정성
- 유닛테스트
- Python
- MVVM
- 공격적 프로그래밍
- Room
- rxjava
- Today
- Total
세상을 바꾸는 개발자
[이펙티브 코틀린] 코틀린의 안정성 - 최대한 플랫폼 타입을 사용하지 말라 본문
안드로이드는 자바와 코틀린 2가지 언어로 개발을 할 수 있지만 요즘 자바를 사용해서 개발하는 경우는 찾아보기 힘듬니다
저또한 코틀린을 사용합니다 하지만 사용하면서 잘 몰랐던 부분도 있고 한번도 써보지않는 편리고 좋은 기능들이 많이 존재합니다 그래서 이번에 복습할겸 이펙티브 코틀린의 내용으로 정리를 하려고 합니다.
안정성 - 최대한 플랫폼 타입을 사용하지 말라
자바에서는 모든 것이 nullable일 수 있으므로 최대한 안전하게 접근한다면, 이를 nullable로 가정하고 다뤄야한
다 코틀린에서는 어떤 메서드는 null을 리턴하지 않을 것이 확실할 수 있다.
이러한 경우에는 마지막에 !! 을 붙인다
플랫폼 타입이란
다른 프로그래밍 언어에서 전달되어서 nullable인지 아닌지 알 수 없는 타입을 말한다
코틀린에서 플랫폼 타입의 문제는 null 이 아니라고 생각되는 것이 null 일 가능성이 있으므로 위험하다
그래서 플랫폼 타입을 사용할때는 항상 주의를 기울어야 한다
자바를 코틀린과 함께 사용할때 제거하는 것이 가장 좋은 방법이지만 자바코드를 직접 조작할 수 있다면, 가능한 @Nullable 과 @NotNull 어노테이션을 붙여서 사용하자
참고 : 이펙티브 코틀린
https://www.yes24.com/Product/Goods/106225986?pid=123487&cosemkid=go16425707805513414&gclid=Cj0KCQjwkqSlBhDaARIsAFJANkhCQTUD9TDNQIc0Vtl8O9OL8NFCy7dvHa-SLpewyWlUTlfoadfvjD0aAirIEALw_wcB
'안드로이드 > Kotlin' 카테고리의 다른 글
[이펙티브 코틀린] 결과 부족이 발생할 경우 null과 failure를 사용하라 (0) | 2023.07.16 |
---|---|
[이펙티브 코틀린] 코틀린의 안정성 - 사용자 정의 오류보다는 표준 오류를 사용하라 (0) | 2023.07.15 |
[이펙티브 코틀린] 코틀린의 안정성 - inferred 타입으로 리턴하지 말라 (0) | 2023.07.12 |
[이펙티브 코틀린] 코틀린의 안정성 - 변수의 스코프를 최소화 하라 (0) | 2023.07.11 |
[이펙티브 코틀린] 코틀린의 안정성 - 가변성을 제한하라 (0) | 2023.07.09 |