이펙티브자바 18
- [Effective Java] - null이 아닌, 빈 컬렉션이나 배열을 반환하라
- [Effective Java] - 메서드 시그니처를 신중히 설계하라
- [Effective Java] - 스트림에서는 부작용 없는 함수를 사용하라
- [Effective Java] - 람다보다는 메서드 참조를 사용하라
- [Effective Java] - 익명 클래스보다는 람다를 사용하라
- [Effective Java] - 명명 패턴보다 애너테이션을 사용하라
- [Effective Java] - 비트 필드 대신 EnumSet 을 사용하라
- [Effective Java] - 제네릭과 가변인수를 함께 쓸 때는 신중하라
- [Effective Java] - 이왕이면 제네릭 메서드로 만들라
- [Effective Java] - 비검사 경고를 제거하라
- [Effective Java] - 멤버 클래스는 되도록 static으로 만들라
- [Effective Java] - 인터페이스는 구현하는 쪽을 생각해 설계하라
- [Effective Java] - 상속보다는 컴포지션을 사용하라
- [Effective Java] - Comparable을 구현할지 고려하라
- [Effective Java] - toString을 항상 재정의하라
- [Effective Java] - 다 쓴 객체 참조를 해제하라
- [Effective Java] - 생성자에 매개변수가 많다면 빌더를 고려하라
- Effective Java - Ch.2 (Item 1) 생성자 대신 정적 팩터리 메서드를 고려하라