이펙티브 코틀린(추상화 설계)아이템 31: 문서로 규약을 정의하라함수가 무슨일을 하는지 명확하게 설명하고 싶다면 KDoc 주석을 붙혀주는것이 좋다.
일반적인 문제는 행위가 문서화 되지 않고 요소의 이름이 명확하지 않다면 이를 사용하는 사용자는 현재 구현에만 의존하게 된 ...
이펙티브 코틀린(추상화 설계)아이템 30: 요소의 가시성을 최소화하라API를 설계할때 간결한 API를 선호하는 이유
작은 인터페이스는 배우기 쉽고 유지하기 쉽다.
기능이 많은 클래스보다 작은 클래스이 이해하기 쉽다.
유지보수가 편하다.
변경을 가할떄는 기존것을 숨기 ...
이펙티브 코틀린(추상화 설계)아이템 29: 외부 API를 랩(wrap)해서 사용하라랩(wrap) 해서 API를 사용할떄 장점
문제가 있다면 래버(wrapper)만 변경하면 되서 변화에 쉽게 대응 할수 있다.
프로젝트 스타일에 맞춰서 API의 형태를 조절할수 있다.
특 ...
이펙티브 코틀린(추상화 설계)아이템 27: 변화로부터 코드를 보호하려면 추상화를 사용하라상수123const val MAX_THREADS = 10
이름을 붙일 수 있다.
나중에 값을 쉽게 변경 가능하다.
함수일반적인 알고리즘을 함수로 추출 하면 코드를 항상 기억해 두 ...
이펙티브 코틀린(추상화 설계)추상화란 : 복잡한 자료, 모듈, 시스템 등으로 부터 핵심적인 개념 또는 기능을 간추려 내는것을 말한다.
추상화를 설계한다는 것은 단순하게 모듈 또는 라이브러리로 분리한다는 의미가 아니라 함수를 정의할 때는 그 구현을 함수 시그니처 뒤에 숨 ...
이펙티브 코틀린(재사용성)아이템 22: 일반적인 알고리즘을 구현할 때 제네릭을 사용하라타입 아규먼트를 사용하는 함수를 제네릭 함수라고 부른다.(예 stdlib에 있는 filter 함수)
타입 파라미터는 컴파일러에 타입과 관련된 정보를 제공하여 컴파일러가 타입을 정확하게 ...