Item 40. 함수 시그니처는 신중하게 설계하라.
1. 함수 이름은 신중하게 고르자.
- 표준 작명 관습(standard naming convention)을 따라하자.
- 널리 합의된 사항에 부합하는 이름 사용
2. 편의 함수(convenience method)을 제공하는데, 너무 열 올리지 말자.
- 맡은 일이 명확하고 충실하게 하라.(pull its weight)
- 단축(shorthand) 함수는 자주 쓰일 때만 추가 하자.
3. 인자 리스트(parameter list)를 길게 만들지 마라.
- 같은 인자들이 길게 연결된 인자 리스트는 피하자.(인자 순서를 착각할 수 있다.)
- 최대 인자 수는 4개 이하(클릭코드에선 3개도 많다고 함)
4. 인자의 자료형으로 클래스보다 인터페이스를 사용하자.
- 예를 들어,
ArrayList
보다는List
를 인자로 사용, 그러면 각종 구현체를 쓸수 있어 유연함
5. 인자 자료형으로 boolean
을 쓰는 것 보다, 원소가 2개인 enum
자료형을 사용하자.
- 가독성이 좋와짐
- 추후에 확장에 용이함
- IDE를 통한 자동완성의 도움도 받을 수 있음
가이드
- 인자가 긴 함수는 여러 함수로 분리
- 도움 클래스(helper class)만들어서 인자를 그룹별로 분리
- 빌더패턴(builder pattern)패턴을 사용하여 인자를 클래스로 분리