메서드 이름은 신중하게 고르라. 이해하기 쉬우면서도 같은 패키지 안의 다른 이름들과 일관성이 유지되는 이름을 고르는 것이다. 또한 좀 더 널리 합의된 사항에도 부합하는 이름을 고르는 것. 모르겠다면 자바 라이브러리 API이름들이 어떻게 지어졌는지 참고해 보자.
편의 메서드를 제공하는 데 너무 열 올리지 마라. "모든 메서드는 맡은 일이 명확하고 거기에 충실해야 한다." 클래스에 메서드가 너무 많으면 사용,테스트, 유지보수 등 모든 면에서 활용하기 어렵다.
인자 리스트를 길게하지 마라. 4개 이하가 되도록 노력하라. 특히나 자료형이 같은 인자를 여러개 나열하는 것은 실수할 가능성이 매우 높으며, 오류없이 실행되기 때문에 위험하다.
- 여러 메서드로 나누는 것. 각각의 메서드는 여러 인자의 일부만을 취하며, 메서드가 너무 많이 생성되지 않게 주의하도록 한다.
- 도움 클래스를 만들어 인자들을 그룹별로 나누는 것이다. 예를들어 카드의 숫자와 모양 등을 인자로 받는 메서드를 만든다고 했을 때, 각각을 인자로 받는 것보다 카드의 숫자와 모양등을 멤버로 가지고 있는 도움클래스를 인자로 전달하여 사용하는 것이 좋다.
- 빌더패턴을 고쳐서 객체 대신 메서드 호출에 적용하는 것이다.
인자의 자료형은 클래스보다는 인터페이스가 좋다. 인터페이스 대신에 클래스를 ㅏㅅ용하면 클라이언트는 특정한 구현에 종속되기 때문이다.
인자의 자료형으로 boolean을 쓰는 것보다는, 우너소가 2개인 enum 자료형을 쓰는 것이 낫다. 그러면 좀 더 읽기 편한 코드가 만들어 진다.
'개발서적 > 이펙티브자바' 카테고리의 다른 글
[메서드]규칙42. varargs는 신중히 사용하라 (0) | 2017.05.04 |
---|---|
[메서드]규칙41. 오버로딩할 때는 주의해라 (0) | 2017.05.04 |
[메서드]규칙39. 필요하다면 방어적 복사본을 만들라 (0) | 2017.05.04 |
[메서드]규칙38. 인자의 유효성을 검사하라 (0) | 2017.05.04 |
[열거형과 어노테이션]규칙37. 자료형을 정의할 때 표식 인터페이스를 사용하라 (0) | 2017.05.04 |