JAVA/Effective Java

규칙 47어떤 라이브러리가 있는지 파악하고 적절히 활용하라

반응형

기존의 개발자들이 0부터 제한된 난수의 값을 만들라고 하는 경우에 다음의 코드를 사용하는 경우가 많다.



1
2
3
4
private status final Random rnd = new Random();
static int random(int n) {
  return Math.abs(rnd.nextInt()) % n;
}
cs



위의 코드는 동일한 숫자를 뱉어내는 경우와 범위 이상에 데이터를 뱉어내기도 한다.

이는 다행 스럽게도 Random.nextInt(int) 플랫폼 라이브러리를 이용하여 해결할 수 있다.

이런 라이브러리에 내부 구현 동작을 모두 알면 좋지만, 모두 해석해서 사용하기에는 어려움이 있다. 
만들어져 있는 라이브러리만 정상적으로 잘 사용한다면 시간을 낭비하지 않고 프로그램 작성에 집중할 수 있다.

그리고 계속해서 성능향상과 성능에 대한 리포트를 주기 때문에 더욱 효율적으로 사용할 수 있다.

물론 단점도 있다.
이는 원하는 일이 구체적일 경우에 그에 상응하는 라이브러리가 없을 때 그럴 수 있다. 하지만 그럴 때는 원하는 부분전까지 라이브러리 사용하고 나머지는 구현하면 된다.

요약하면 바퀴를 다시 발명하지 말고 필요한 라이브러리를 잘 사용하라.


출처 : 조슈아 블로크, 『 Effective Java 2/E』, 이병준 옮김, 인사이트(2014.9.1), 규칙47인용.


반응형