Skip to content

Latest commit

 

History

History
24 lines (18 loc) · 1.35 KB

item51.md

File metadata and controls

24 lines (18 loc) · 1.35 KB

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

  • 메소드 이름을 신중히 짓자.

    • 같은 패키지에 속한 다른 이름들과 일관되게 짓기
    • 긴 이름은 피하자
  • 편의 메소드를 너무 많이 만들지 말자.

    • 클래스나 인터페이스에 너무 많은 메소드를 두지 말기
    • 클래스나 인터페이스는 자신의 각 기능을 완벽히 수행하는 메소드로 제공해야 한다.
  • 매개변수 목록은 짧게 유지하자.

    • 4개 이하가 좋다.
    • 같은 타입의 매개변수 여러 개가 연달아 나오는 경우가 특히 속상..
    • 긴 매게변수 목록을 짧게 줄여주는 기술 세 가지

      1. 여러 메소드로 쪼갠다. (List 인터페이스에서 지정된 범위의 부분리스트에서 인덱스를 찾을 때) => P309 직교성 관련 설명이 잘 되어 있는 것 같습니다.
      2. 매개변수 여러 개를 묶어주는 도우미 클래스를 만들기
      3. 위의 두 기법을 혼합한 것으로 객체 생성에 사용한 빌더 패턴을 메소드 호출에 응용하기
  • 매게변수의 타입으로는 클래스보다는 인터페이스가 더 낫다.

    • 유연성
  • boolean보다는 원소 2개짜리 열거 타입이 낫다.

    • 코드의 가독성이 좋아짐