-
item 59 라이브러리를 익히고 사용하라책/이펙티브 자바 2022. 4. 21. 17:52
ITEM 59 라이브러리를 익히고 사용하라
기존에 제공하는 표준 라이브러리의 기능 대신 직접 구현하는건 추천하지 않는다
표준 라이브러리를 사용하면 아래와 같은 이점이 있다
- 표준 라이브러리를 사용하면 그 코드를 작성한 전문가의 지식과 여러분보다 앞서 사용한 다른 개발자들의 경험을 활용할 수 있다
- 핵심적인 일과 크게 관련 없는 문제를 해결하느라 시간을 허비하지 않아도 된다
- 따로 노력하지 않아도 성능이 지속해서 계선된다
- 업계 표준 벤치마크를 사용해 성능을 확인하기 때문에 표준 라이브러리 제작자들은 더 나은 방법을 꾸준히 모색한다
- 기능이 점점 많아진다
- 라이브러리에 부족한 부분이 있다면 개발자 커뮤니티에 이야기가 나오고 논의 한 후 다음 릴리즈에 추가되는 경우도 많다
- 내가 작성한 코드가 다른 사람들이 보기에도 낯익은 코드가 된다
- 표준 라이브러리를 사용하면 자연스럽게 다른 개발자들이 읽기도 좋고 유지보수하기도 좋은 재활용이 용이한 코드가 된다
위와 같은 이점을 보면 표준 라이브러리의 기능을 쓰는게 좋은데 왜 많은 개발자들이 직접 구현해서 사용할까?
- 대부분은 라이브러리에 그런 기능이 있는지 모르기 때문일 것이다
- 메이저 릴리스마다 주목할 만한 수많은 기능이 라이브러리에 추가된다
라이브러리가 너무 많아서 모든 API 문서를 공부하기는 힘들지만 적어도 java.lang, java.util, java.io 와 그 하위 패키지에는 익숙해져야 한다
- 다른 라이브러리는 필요할 때마다 익히는게 좋다
- 컬렉션 프레임워크와 스트림 라이브러리, java.util.concurrent의 동시성 기능도 알아두면 큰 도움이 된다
- 이 패키지는 멀티스레드 프로그래밍 작업을 단순화해주는 고수준의 편의 기능과 능숙한 개발자가 자신만의 고수준 개념을 직접 구현할 수 있도록 도와주는 저수준 요소들을 제공한다
전문적인 기능을 요구할수록 라이브러리가 필요한 기능을 충분히 제공하지 못하는 경우도 생기게 된다
- 이런 경우 우선은 라이브러리를 사용하려고 시도해보자
- 어떤 영역의 기능을 제공하는지 살펴보고 원하는 기능이 아니라면 대안을 사용하자
- 어떤 라이브러리든 제공하는 기능은 유한하니 빈 구멍이 있다
- 자바 표준 라이브러리에서 원하는 기능을 찾지 못한다면 그 다음으로 고품질의 서드파티 라이브러리를 찾아보자
- 구글의 구아바가 대표적이며 서드파티 라이브러리에서도 찾지 못했다면 직접 구현하자
바퀴를 다시 발명하지 말자, 아주 특별한 나만의 기능이 아니라면 누군가 이미 라이브러리 형태로 구현해놓았을 가능성이 크다
내게 적합한 라이브러리가 있다면 쓰면 되며 있는지 모르겠으면 찾아보자
일반적으로 라이브러리의 코드는 직접 작성한 것보다 품질이 좋으며 점차 개선될 가능성이 크다
'책 > 이펙티브 자바' 카테고리의 다른 글
item 61 박싱된 기본 타입보다는 기본 타입을 사용하라 (0) 2022.04.21 item 60 정확한 답이 필요하다면 float와 double은 피하라 (0) 2022.04.21 item 58 전통적인 for 문보다는 for-each문을 사용하라 (0) 2022.04.21 item 57 지역변수의 범위를 최소화하라 (0) 2022.04.21 item 56 공개된 API 요소에는 항상 문서화 주석을 작성하라 (0) 2022.04.21