[Effective Java 3/e] 아이템 51 - 메서드 시그니처를 신중히 설계하라


아이템 51 - 메서드 시그니처를 신중히 설계하라

API 설계 요령

  • 메서드 이름을 신중히 짓자.
    • 항상 표쥰 명명 규칙을 따라야 한다.
    • 긴 이름은 피하자.
    • 자바 라이브러리 API 가이드를 참조하라
  • 편의 메서드를 너무 많이 만들지 말자.
    • 메서드가 너무 많은 클래스는 익히고, 사용하고, 문서화, 테스트, 유지보수하기 어렵다.
    • 클래스나 인터페이스는 자신의 각 기능을 완벽히 수행하는 메서드로 제공해야 한다.
  • 매개변수 목록은 짧게 유지하자.
    • 4개 이하가 좋다.
    • 같은 타입의 매개변수 여러 개가 연달아 나오는 경우가 특히 해롭다.
    • 매개변수 짧게 줄여주는 기술 세 가지
      • 여러 메서드로 쪼갠다.
      • 매개변수 여러 개를 묶어주는 도우미 클래스를 만든다.
      • 객체 생성에 사용한 빌더 패턴을 메서드 호출에 응용한다.
        • setter 메서드를 호출해 필요한 값을 설정하고 exeuce 메서드를 호출해 앞서 설정한 매개변수들의 유효성을 검사한다.
    • 매개변수의 타입으로는 클래스보다는 인터페이스가 더 낫다.
      • 인터페이스 대신 클래스를 사용하면 클라이언트에게 특정 구현체만 사용하도록 제한하게 됨
    • boolean보다는 원소 2개짜리 열거 타입이 낫다
      • ex) public enum TemperatureScale { FAHRENHEIT, CELSIUS }