코틀린 스터디/이펙티브 코틀린 22

아이템2) 변수의 스코프를 최소화하라

이펙티브 코루틴을 요약한 내용입니다. 상태를 정의할 때는 변수와 프로퍼티의 스코프를 최소화하는 것이 좋음 프로퍼티보다는 지역 변수를 사용하는 것이 좋음 최대한 좁은 스코프를 갖게 변수를 사용 반복문 내부에서 사용하는 변수의 경우 반복문 내부에 작성하는 것이 좋음 변수 스코프를 제한하는 예제 // 나쁜 예 var user: User for (i in users.indices) { user = users[i] print("User at $i is $user") } // 조금 더 좋은 예 for (i in users.indices) { val user = users[i] print("User at $i is $user") } // 제일 좋은 예 for ((i, user) in users.withIndex())..

아이템1) 가변성을 제한하라

이펙티브 코루틴을 요약한 내용입니다. 코틀린은 모듈로 프로그램을 설계 클래스, 객체, 함수, 타입 별칭(type alias), 톱레벨(top-level) 프로퍼티 등 다양한 요소로 구성 됨 읽고 쓸수 있는 프로퍼티 var를 사용하거나, mutable 객체를 사용하면 상태를 가질 수 있다 var a = 10 var list: MutableList = mutableListOf() 계좌에 돈이 얼마나 있는지 나타내는 상태 예제 class BankAccount { var balance = 0.0 private set fun deposit(depositAmount: Double) { balance += depositAmount } @Throws(InsufficientFunds::class) fun withdraw..