이펙티브 코틀린 아이템 21: 일반적인 프로퍼티 패턴은 프로퍼티 위임으로 만들어라
이펙티브 코틀린(재사용성)아이템 21: 일반적인 프로퍼티 패턴은 프로퍼티 위임으로 만들어라property delegate 를 사용하는것이 property delegation 이라고 부른다. 코틀린에서 lazy 함수 제공 1val value by lazy { c ...
Read more
이펙티브 코틀린 아이템 20: 일반적인 알고리즘을 반복해서 구현하지 말라
이펙티브 코틀린(재사용성)아이템 20: 일반적인 알고리즘을 반복해서 구현하지 말라기존에 구현된 내용을 활용하면 장점 코드가 짧아진다. 코드 작성 속도가 빨라진다. 직접구현할때의 실수를 줄일수 있다. 제작자가 한번만 최적화하면 사용하는 모든곳에서 혜택을 받을수 있다. ...
Read more
이펙티브 코틀린 아이템 19: knowledge를 반복하지 말라
이펙티브 코틀린(재사용성)재사용성 : 프로그램 언어의 핵심 특성 아이템 19: knowledge를 반복하지 말라프로젝트에서 이미 있던 코드를 복사해서 붙여넣고 있다면, 무언가가 잘못된 것이다. knowledge 를 반복하여 사용하지 말라 DRY 규칙, WET 안티패턴 ...
Read more
이펙티브 코틀린 아이템 18: 코딩 컨벤션 지켜라
이펙티브 코틀린(가독성)아이템 18: 코딩 컨벤션 지켜라kotlin Coding conventions 문서를 보면 알수 있듯이 잘 정리된 코딩 컨벤션을 가지고 있다. 코틀린 커뮤니티에 속한 사람이면 이러한 코딩 컨벤션에 익숙해지는것이 좋다. 장점 어떠한 프로젝트도 쉽 ...
Read more
이펙티브 코틀린 아이템 17: 이름 있는 아규먼트를 사용하라
이펙티브 코틀린(가독성)아이템 17: 이름 있는 아규먼트를 사용하라메소드의 Argument 용도가 분명하게 보이지 않을경우가 있다. 123val text = (1..10).joinToString("|") 위처럼 joinToString에 | 값이 무엇 ...
Read more
이펙티브 코틀린 아이템 16: 프로퍼티는 동작이 아니라 상태를 나타내야 한다
이펙티브 코틀린(가독성)아이템 16: 프로퍼티는 동작이 아니라 상태를 나타내야 한다 프로퍼티는 사용자 정의 게터와 세터를 가질수 있다. 파생 프로퍼티 (derrived property) : var을 사용해서 만든 읽고 쓸 수 있는 프로퍼티는 게터와 세터 정의가 가능, ...
Read more
이펙티브 코틀린 아이템 15: 리시버를 명시적으로 참조하라
이펙티브 코틀린(가독성)아이템 15: 리시버를 명시적으로 참조하라무언가를 더 자세하기 설명하기 위해 명시적으로 긴코드를 사용할때가 있다.대표적으로 함수와 프로퍼티 지역 또는 톱레벨 변수가 아닌 다른 리시버로부터 가지고 온다는것을 나타낼때가 있다.예를 들면 클래스의 메서 ...
Read more
이펙티브 코틀린 아이템 14: 변수 타입이 명확하지 않은 경우 확실하게 지정하라
이펙티브 코틀린(가독성)아이템 14: 변수 타입이 명확하지 않은 경우 확실하게 지정하라코틀린은 개발자가 타입을 지정하지 않아도 타입을 지정해서 넣어주는 굉장히 수준 높은 타입 추론 시스템을 가지고 있다.이는 개발시간을 줄여주거나 코드를 줄여줘서 가독성이 크게 향상 된다 ...
Read more
이펙티브 코틀린 아이템 13: Unit? 을 리턴하지 말라
이펙티브 코틀린(가독성)아이템 13: Unit? 을 리턴하지 말라Unit? 은 Unit 과 null을 반환할수 있다. 하지만 읽을때 오해의 소지가 있으며 예측하기 어려운 오류를 만들수 있다. Unit? 이 붙은 함수가 만들어지면 아래와 같은 코드가 나올수 있다. 이부분 ...
Read more
이펙티브 코틀린 아이템 12: 연산자 오버로드를 할 때는 의미에 맞게 사용하라
이펙티브 코틀린(가독성)아이템 12: 연산자 오버로드를 할 때는 의미에 맞게 사용하라연산자 오버로딩 할때는 항상 신중 해야 된다.코틀린에서는 각 연산자의 의미는 항상 같게 유지된다.그래서 오버로딩해서 연산자의 의미를 바꾸면 혼란스럽게 된다. 분명하지 않는 경우 Infi ...
Read more