이펙티브 코틀린(안정성)아이템 9: use를 사용해 리소스를 닫아라Closeable를 구현하고 있는 클래스들을 처리 할때 try finally 를 사용해서 close 메소드를 호출
java의 try with resource 대신 use 와 Reader.useLines ...
이펙티브 코틀린(안정성)아이템 8: 적절하게 null을 처리하라null 은 값이 부족하다(lack of value)는 것을 나타낸다.
String.toIntOrNull() String을 Int로 적절하게 변환할수 없을때 null을 반환
Iterable.firstOrN ...
이펙티브 코틀린(안정성)아이템 7: 결과 부족이 발생할 경우 null과 Failure를 사용하라함수가 원하는 결과를 만들어 낼 수 없을때 이러한 상황을 처리하는 방법은 크게 두가지가 있다.
null 또는 실패를 나타내는 sealed 클래스를 리턴한다.
예외를 thro ...
이펙티브 코틀린(안정성)아이템 6: 사용자 정의 오류보다는 표준 오류를 사용하라
IllegalArgumentException 과 IllegalStateException 는 require 와 check 를 사용해 throw 할수 있는 예외
IndexOutOfBoundsE ...
이펙티브 코틀린(안정성)아이템 5: 예외를 활용해 코드에 제한을 걸어라확실하게 어떤 형태로 동작해야 하는 코드가 있다면 예외를 활용해 제한을 거는것이 좋다.
require 블록 : 아규먼트를 제한할 수 있다.
check 블록 : 상태와 관련된 동작을 제한할 수 있다 ...
이펙티브 코틀린(안정성)아이템 4: inferred 타입으로 리턴하지 말라코틀린의 타입 추론은 가장 널리 알려진 코틀린의 특징이다.
타입추론을 사용할 때는 몇 가지 위험한 부분이 있다.우선 할당 떄 inferred 타입은 정확하게 오른쪽에 있는 피연산자에 맞게 설정된다 ...
이펙티브 코틀린(안정성)아이템 3: 최대한 플랫폼 타입을 사용하지 말라코틀린에서는 null-safety 메커니즘을 사용해 NPE는 거의 찾아 보기 힘들다.
코틀린에서 자바 코드를 사용할때 @Nullable 어노테이션이 붙어 있으면 String?으로변경하고 @NotNul ...
이펙티브 코틀린(안정성)아이템 2: 변수의 스코프를 최소화하라상태를 정의할 때는 변수와 프로퍼티는 스코프를 최소화 하는것이 좋다.
프로퍼티보다 지역 변수를 사용하는것이 좋다.
최대한 좁은 스코프를 갖게 변수를 사용하자.
여러 프로퍼티를 한꺼번에 설정해야 하는 경우에 ...
이펙티브 코틀린(안정성)아이템 1: 가변성을 제한하라var 나 mutable 객체를 사용하면 상태를 가질수 있다. 상태를 가지는것은 양날의 검이다. 그래서 가변성을 제한하는것을 추천한다.
코틀린은 가변성을 제한하는것이 쉽게 만들어져 있다.
읽기 전용 프로퍼티(val) ...
testcontainers macbook m1 error
1Could not pull image: no matching manifest for linux/arm64/v8 in the manifest list entries
잘 동작하던 테스트 코드가 동작이 안되서 확인 ...