이미 구현되어있는 알고리즘을 활용했을 때의 장점
- 단순하게 코드가 짧아진다.
- 코드 작성 속도가 빨라진다.
- 알고리즘을 만드는 것보다 함수 호출을 한 번 하는 것이 훨씬 빠르다
- 구현을 따로 읽지 않아도, 함수의 이름 등만 보고도 무엇을 하는지 확실하게 알 수 있다.
- 그만큼 함수의 이름도 잘 작성해야한다.
- 직접 구현할 때 발생할 수 있는 실수를 줄일 수 있다.
- 이미 구현되어있는 함수를 제작자들이 한 번만 최적화하면, 해당 함수를 사용하는 모든 곳이 최적화의 혜택을 받을 수 있다.
표준 라이브러리인 stdlib를 활용하자.
- stdlib는 확장 ㅎ마수를 활용해서 만들어진 거대한 유틸리티 라이브러리
동일한 결과를 얻는 함수를 여러 번 만드는 것은 잘못된 일
- 모든 함수는 테스트되어야하고, 기억되어야 하며, 유지보수되어야 한다.
- 따라서 함수를 만들 때는 이러한 비용이 들어갈 수 있다는 것을 반드시 전제해야한다.
많이 사용되는 알고리즘을 추출하는 방법으로는 톱레벨 함수, 프로퍼티 위임, 클래스 등이 있으며 확장 함수는 이러한 방법들과 비교해서 여러 장점을 가지고 있다.
- 함수는 상태를 유지하지 않으므로, 행위를 나타내기 좋다.
- 톱레벨 함수와 비교해서, 확장 함수는 구체적인 타입이 있는 객체에만 사용을 제한할 수 있다.
- 수정할 객체를 아규먼트로 전달받아 사용하는 것보다 확장 리시버로 사용하는 것이 가독성 측면에서 좋다
- 확장 함수는 객체에 정의한 함수보다 객체를 사용할 때, 자동 완성 기능 등으로 제안이 이루어지므로 쉽게 찾을 수 있다.
'Reading Record > 이펙티브 코틀린' 카테고리의 다른 글
[이펙티브 코틀린] Item22. 일반적인 알고리즘을 구현할 때 제네릭을 사용하라 (0) | 2022.05.01 |
---|---|
[이펙티브 코틀린] Item21. 일반적인 프로퍼티 패턴은 프로퍼티 위임으로 만들어라 (0) | 2022.05.01 |
[이펙티브 코틀린] Item19. knowledge를 반복하여 사용하지 말라 (0) | 2022.05.01 |
[이펙티브 코틀린] Item18. 코딩 컨벤션을 지켜라 (0) | 2022.04.26 |
[이펙티브 코틀린] Item17. 이름 있는 아규먼트를 사용하라 (0) | 2022.04.26 |