■ 메서드 이름을 신중히 짓자
- 항상 표준 명명 규칙을 따라야하고, 같은 패키지에 속한 다른 이름들과 일관되게 짓는게 최우선 목표이다. 그 다음 목표는 개발자 커뮤니티에서 널리 받아들여지는 이름을 사용하는 것이다.
■ 편의 메서드를 너무 많이 만들지 말자
- 모든 메서드는 각각 자신의 소임을 다해야한다. 메서드가 너무 많은 클래스는 익히고, 사용하고, 문서화하고, 테스트하고 유지보수하기 어렵다. 메서드가 너무 많으면 이를 구현하는 사람과 사용하는 사람 모두를 고통스럽게한다.
■ 매개 변수 목록은 짧게 유지하자
- 4개 이하가 좋다. 특히 같은 타입의 매개변수가 연달아 여러개 나오는 경우가 특히 해롭다. 순서를 바꿔 입력해도 그대로 컴파일되고 실행된다.
- 첫번째로 여러 메서드로 쪼개서 매개변수를 줄이는 방법이있다.
- 두번째로 매개변수 여러 개를 묶어주는 도우미 클래스를 만드는 것이다. 일반적으로 이런 도우미 클래스는 정적 멤버 클래스로 둔다. 특히 매개변수 몇개를 하나의 독립된 개념으로 볼 수 있을 때 추천하는 방법이다.
- 세번째는 앞의 두 기법을 혼합한 것이다. 객체 생성에 사용한 빌더 패턴을 메서드 호출에 응용한다고 보면 된다.
■ 매개변수 타입으로는 클래스 보다 인터페이스가 낫다.
- 클라이언트에 특정 구현체만 사용하게 제한하게된다.
■ boolean보다는 원소 2개 짜리 enum 이 낫다
- 열거 타입을 사용하면 코드를 읽고 쓰기가 쉬워진다. 나중에 선택지를 추가하기도 쉽ㄷ.
'Effective Java' 카테고리의 다른 글
[Effective Java] 아이템53 가변인수는 신중히 사용하라 (0) | 2021.07.12 |
---|---|
[Effective Java] 아이템52 다중정의는 신중히 사용해라 (0) | 2021.07.04 |
[Effective Java] 아이템50 적시에 방어적 복사본을 만들라 (0) | 2021.07.04 |
[Effective Java] 아이템49 매개변수가 유효한지 검사하라 (0) | 2021.07.04 |
[Effective Java] 아이템48 스트림 병렬화는 주의해서 적용하라 (0) | 2021.06.29 |