본문은 Effective Java를 읽고 간단하게 정리한 글입니다. 필요에 따라 생략/수정된 부분이 있을 수 있으며, 내용이 추후 변경될 수 있습니다.
API 설계요령
1. 메서드 이름을 신중히 짓자
- 항상 표준 명명 규칙을 따라야 한다(아이템 68)
- 이해할 수 있고, 같은 패키지에 속한 다른 이름들과 일관되게 지어야 한다
- 개발자 커뮤니티에서 널리 받아들여지는 이름을 사용한다
- 긴 이름은 피하고, 애매하면 자바 라이브러리의 API 가이드를 참조한다
2. 편의 메서드를 너무 많이 만들지 말자
- 메서드가 너무 많은 클래스/인터페이스는 익히고, 사용하고, 문서화하고, 테스트하고, 유지보수하기 어렵다
- 아주 자주 쓰일 경우에만 별도의 약칭 메서드를 두고, 확신이 서지 않으면 만들지 말라
3. 매개변수 목록은 짧게 유지하자
- 4개 이하를 유지하자
- 같은 타입의 매개변수 여러 개가 연달아 나오는 경우를 특히 지양하라
- 사용자가 매개변수 순서를 기억하기 어렵다
- 실수로 순서를 바꿔 입력해도 그대로 컴파일되고 실행된다
- 과하게 긴 매개변수 목록을 줄여주는 기술 세가지
- 1) 여러 메서드로 쪼기기
- 2) 매개변수 여러 개를 묶어주는 도우미 클래스를 만들기
- 3) 1번과 2번의 혼합형태, 객체 생성에 사용한 빌더 패턴을 메서드 호출에 응용한다
4. 매개변수의 타입으로는 클래스보다는 인터페이스를 사용하라
- 인터페이스 대신 클래스를 사용하면 클라이언트에게 특정 구현체만 사용하도록 제한하게 된다
- 입력 데이터가 다른 형태로 존재한다면 명시한 특정 구현체의 객체로 옮겨 담기 위한 비용이 추가된다
5. boolean보다는 원소 2개짜리 열거 타입이 낫다
- boolean 대신 열거 타입을 사용하면 코드의 가독성과 확장성이 늘어난다
'책 > Effective Java' 카테고리의 다른 글
[이펙티브 자바] 아이템 54: null이 아닌 빈 컬렉션이나 배열을 반환하라 (0) | 2022.06.23 |
---|---|
[이펙티브 자바] 아이템 53: 가변인수는 신중히 사용하라 (0) | 2022.06.23 |
[이펙티브 자바] 아이템 50: 적시에 방어적 복사본을 만들라 (0) | 2022.06.21 |
[이펙티브 자바] 아이템 48: 스트림 병렬화는 주의해서 적용하라 (0) | 2022.06.17 |
[이펙티브 자바] 아이템 46: 스트림에서는 부작용 없는 함수를 사용하라 (0) | 2022.06.15 |