Item 40. 함수 시그니처는 신중하게 설계하라.

1. 함수 이름은 신중하게 고르자.

2. 편의 함수(convenience method)을 제공하는데, 너무 열 올리지 말자.

3. 인자 리스트(parameter list)를 길게 만들지 마라.

4. 인자의 자료형으로 클래스보다 인터페이스를 사용하자.

5. 인자 자료형으로 boolean을 쓰는 것 보다, 원소가 2개인 enum자료형을 사용하자.

가이드

  1. 인자가 긴 함수는 여러 함수로 분리
  2. 도움 클래스(helper class)만들어서 인자를 그룹별로 분리
  3. 빌더패턴(builder pattern)패턴을 사용하여 인자를 클래스로 분리