이펙티브 코틀린(재사용성)
아이템 20: 일반적인 알고리즘을 반복해서 구현하지 말라
기존에 구현된 내용을 활용하면 장점
- 코드가 짧아진다.
- 코드 작성 속도가 빨라진다.
- 직접구현할때의 실수를 줄일수 있다.
- 제작자가 한번만 최적화하면 사용하는 모든곳에서 혜택을 받을수 있다.
표준라이브러리 살펴보기
stdlib는 확장함수를 활용해 만들어진 거대한 유틸리티라이브러리
나만의 유틸리티 구현하기
구현된 알고리즘이 없으면 확장함수로 유틸리티를 구현하자
확장함수의 장점
- 함수는 상태를 유지하지 않아서 행위를 나타내기 좋다. 사이드 임펙트가 없으면 더욱 좋다.
- 톱레벨 함수와 달리 확장함수는 구체적 타입이 있는 객체에만 사용을 제한할수 있어서 좋다.
- 수정할 객체를 아규먼트로 전달 받아서 처리하는것 보다 확장 리시버 형태로 사용하는것이 가독성에 좋다.
- 확장함수는 객체에 정의된 함수보다 객체를 사용할떄 자동완성 기능들으로 제안이 이루워져서 사용하기 편하다.