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

메서드 이름을 신중히 짓자.

 

같은 패키지에 속한 다른 이름들과 일관되게 짓는게 최우선 목표다. 

 

편의 메서드를 너무 많이 만들지 말자.

 

매개변수 목록은 짧게 유지하자. 4개 이하를 권장

  1. 여러 메서드로 쪼갠다.
    • 잘못하면 메서드가 많아질 수 있으나 직교성을 높여 메서드를 줄여주는 효과가 있다.
    • subList, indexOf메서드를 사용하여 부분리스트에서 인덱스를 찾는 예시
  2.  매개변수 여러 개를 묶어주는 도우미 클래스를 만드는 것이다.
    • 도우미 클래스는 정적 멤버 클래스로 둔다.
  3. 객체 생성에 사용한 빌더 패턴을 메서드 호출에 응용
  4. 매개변수의 타입으로는 클래스보다는 인터페이스가 더 낫다
  5. boolean보다는 우너소 2개짜리 열거 타입이 낫다

 

 

 

직교성 

  • 공통점이 없는 기능들이 잘 분리되어 있다.
  • 기능을 원자적으로 쪼개 제공한다.
  • API가 다루는 개념의 추상화 수준에 맞춰 원자적으로 쪼개야한다.
  • MSA 아키텍처는 직교성이 높고 모놀리식 아키텍처는 직교성이 낮다.
반응형