Item 74. 메서드가 던지는 모든 예외를 문서화하라
서론메서드가 던지는 예외는 그 메서드를 올바로 사용하는 데 아주 중요한 정보다.따라서 각 메서드가 던지는 예외 하나하나를 문서화하는 데 충분한 시간을 쏟아야 한다. 검사 예외는 @throws 태그로 문서화하라검사 예외(Checked Exception)는 항상 따로따 ...
Read more
Item 73. 추상화 수준에 맞는 예외를 던지라
서론수행하려는 일과 관련 없어 보이는 예외가 튀어나오면 당황스럽다.메서드가 저수준 예외를 처리하지 않고 바깥으로 throw 해버릴 때 상위 메서드에서 종종 발생하는 일이다.내부 구현방식을 상위에 드러내어 윗 레벨 API를 오염 시킬 수 있고, 다음 릴리스에서 구현방식이 ...
Read more
Item 72. 표준 예외를 사용하라
서론숙련된 프로그래머는 그렇지 못한 프로그래머보다 더 많은 코드를 재사용한다.예외도 마찬가지로 재사용하는 것이 좋으며, 자바 라이브러리는 대부분 API에서 쓰기에 충분한 수의 예외를 제공한다. 표준 예외를 재사용하라 표준 예외를 사용하면 다른사람이 API를 익히고 사용 ...
Read more
Item 68. 일반적으로 통용되는 명명 규칙을 따르라
서론자바 플랫폼은 명명 규칙이 잘 정립되어 있으며, 그중 많은 것이 자바 언어 명세에 기술되어 있다.자바의 명명 규칙은 철자와 문법 두 범주로 나뉜다.철자 규칙은 패키지, 클래스, 인터페이스, 메서드, 필드, 타입 변수의 이름을 다룬다.이 규칙들은 특별한 이유가 없는 ...
Read more
Item 67. 최적화는 신중히 하라
최적화에 대한 명언 맹목적인 어리석음을 포함해 그 어떤 핑계보다 효율성이라는 이름 아래 행해진 컴퓨팅 죄악이 더 많다 (심지어 효율을 높이지도 못하면서) - 윌리엄 울프(Wulf72) (전체의 97% 정도인) 자그마한 효율성은 모두 잊자. 섣부른 최적화가 만약의 근 ...
Read more
Item 66. 네이티브 메서드는 신중히 사용하라
서론자바 네이티브 인터페이스(Java Native Interface, JNI)는 자바 프로그램이 네이티브 메서드를 호출하는 기술이다. 네이티브 메서드란? C나 C++ 같은 네이티브 프로그래밍 언어로 작성한 메서드를 말한다. 네이티브 메서드의 주요 쓰임 Regis ...
Read more
Item 65. 리플렉션보다는 인터페이스를 사용하라
서론리플렉션 기능(java.lang.reflect)을 이용하면 프로그램에서 임의의 클래스에 접근할 수 있다.Class 객체가 주어지면 클래스 정보를 통해 아래와 같은 인스턴스를 가져올 수 있다. Constructor 생성자 시그니처를 가져올 수 있다. 생성자 인스턴스 ...
Read more
Item 64. 객체는 인터페이스를 사용해 참조하라
서론Item 51에 제네릭 타입으로 클래스가 아니라 인터페이스를 사용하라고 설명 되어있다.이 말의 의미는 객체는 클래스가 아닌 인터페이스로 참조하라 라는 의미로 확장할 수 있다.적합한 인터페이스만 있다면 매개변수뿐 아니라 반환값, 변수, 필드를 전부 인터페이스 타입으로 ...
Read more
Item 63. 문자열 연결은 느리니 주의하라
서론문자열 연결 연산자(+)는 여러 문자열을 하나로 합쳐주는 편리한 수단이다.그런데 한 줄짜리 출력값(return prefix + str + suffix; 정도?) 혹은 작고 크기가 고정된 객체의 문자열 표현을 만들 때라면 괜찮다.하지만 문자열 여러개를 사용하기 시작 ...
Read more
Item 62. 다른 타입이 적절하다면 문자열 사용을 피하라
서론문자열(String)은 텍스트를 표현하도록 설계되었고, 그 일을 아주 멋지게 해낸다.그런데 문자열은 워낙 흔하고 자바가 또 잘 지원해주어 원래 의도하지 않는 용도로도 쓰이는 경향이 있다. 문자열의 안티패턴문자열은 다른 값 타입을 대신하기에 적합하지 않다.많은 사람들 ...
Read more