이펙티브 자바 스터디 진행 이후 정리한 내용입니다.
- 정적 팩토리 메소드 : Entity 작성을 하면서 new Board로 바로 접근 가능하게 하는 방식이 아닌 public static Board createBoard(parameters….)와 같은 방식으로 선언하자, 장점도 추가적으로 기억
- 생성자 보다는 빌더를 애용
- private 생성자, 싱글톤 보증
- 인스턴스화 방지를 위한 private 생성자 사용
- try-final 보다는 try with resource로 적용하자 (stream계열과 같이 close를 진행해줘햐하는 애들에 있어서는 성능적으로, 개발적으로 매우 강세를 보인다)
- toString() 재정의로 유의미한 값을 return 해주자.
- 인터페이스는 타입을 정의하는 용도로만 사용할것
- 가변인수는 최대한 사용 자제하자
- 지역변수 범위 최소화
- 라이브러리, lang, util, io 라이브러리는 잘 익혀야 한다.
- 문자열 연결은 느리니 Builder append를 사용하자
- 리플렉션 보다는 인터페이스를 사용하자
- 예외는 진짜 예외 상황에만 사용하자
- 복구 가능한 상황은 검사 예외
- 오류는 런타임 예외를 사용하자
- 표준 예외를 사용하자
- IlleagalArgumentException : 허용하지 않는 값이 인수로 건네졌을때(null은 따로 NullPointerException으로 처리)
- llegalStateException : 객체가 메서드를 수행하기에 적절하지 않은 상태일 때
- NullPointerException : null을 허용하지 않는 메서드에 null을 건냈을 때
- IndexOutOfBoundsException : 인덱스가 범위를 넘어섰을 때
- ConcurrentModificationException : 허용하지 않는 동시 수정이 발견됐을 때
- UnsupportedOperationException : 호출한 메서드를 지원하지 않을 때
- Serializable 는 최대한 사용하지 말자
아래는 저의 이펙티브 자바 정리본입니다.
'서적 정리' 카테고리의 다른 글
면접자를 위한 CS전공지식 노트 - ing (0) | 2022.07.14 |
---|---|
앞으로 틈틈히 읽은 서적 목록 (0) | 2022.07.14 |
HTTP 완벽 가이드 (0) | 2022.06.02 |