이펙티브 코틀린 아이템 20: 일반적인 알고리즘을 반복해서 구현하지 말라

이펙티브 코틀린(재사용성)

아이템 20: 일반적인 알고리즘을 반복해서 구현하지 말라

기존에 구현된 내용을 활용하면 장점

  • 코드가 짧아진다.
  • 코드 작성 속도가 빨라진다.
  • 직접구현할때의 실수를 줄일수 있다.
  • 제작자가 한번만 최적화하면 사용하는 모든곳에서 혜택을 받을수 있다.

표준라이브러리 살펴보기

stdlib는 확장함수를 활용해 만들어진 거대한 유틸리티라이브러리

나만의 유틸리티 구현하기

구현된 알고리즘이 없으면 확장함수로 유틸리티를 구현하자

확장함수의 장점

  • 함수는 상태를 유지하지 않아서 행위를 나타내기 좋다. 사이드 임펙트가 없으면 더욱 좋다.
  • 톱레벨 함수와 달리 확장함수는 구체적 타입이 있는 객체에만 사용을 제한할수 있어서 좋다.
  • 수정할 객체를 아규먼트로 전달 받아서 처리하는것 보다 확장 리시버 형태로 사용하는것이 가독성에 좋다.
  • 확장함수는 객체에 정의된 함수보다 객체를 사용할떄 자동완성 기능들으로 제안이 이루워져서 사용하기 편하다.

참조