반응형
[Effective Java] 메소드 시그니처를 신중하게 설계하자. |
-
메소드 이름을 신중하게 짓자.
이름은 항상 표준 작명 규칙을 따라야 한다.
이름에는 일관성이 있어야 한다.
폭넓게 공감 가는 이름을 선택해야 한다.
-
편리한 메소드를 만드는데 너무 열중하지 말자.
모든 메소드는 자신의 역할을 해야 한다.
메소드가 너무 많으면, 클래스를 배우고 사용하고 문서화하고 테스트하고 유지하기가 어렵다.
클래스나 인터페이스가 지원하는 각 동작에 대해서 충분한 기능을 수행하는 메소드를 제공하자.
-
너무 많은 매개 변수를 피하자.
매개 변수는 네 개 이하를 목표로 하자.
매개 변수가 네 개를 넘으면 시종일관 문서를 참조하지 않고는 그 메소드 API 를 사용할 수 없다.
같은 타입의 매개 변수가 길게 나오면 특히 더 해롭다.
-
지나치게 긴 매개 변수를 줄이는 세 가지 방법.
1. 하나의 메소드를 여러 개로 쪼갠다. ( 각각 매개변수의 일부만 필요하다. )
2. 매개 변수 그룹들을 보존하는 지원 클래스(helper class)를 만드는 것.
일반적으로 지원 클래스들은 static 맴버 클래스이며, 자주 출현하는 매개 변수열이 어떤 고유한 본질을 나타낼 때 이 방법이 좋다.
3. 객체 구축에서부터 메소드 호출까지 빌더 패턴을 적용하는 것.
-
매개 변수의 타입은 클래스보다 인터페이스를 사용하자.
-
boolean 매개변수보다는 두 개의 요소를 갖는 enum 을 사용하자.
읽기와 작성이 더 쉬운 코드를 만들 수 있다.
반응형
'프로그래밍 놀이터 > 디자인 패턴, 리펙토링' 카테고리의 다른 글
[Effective Java] 가변인자(varargs)를 분별력 있게 사용하자. (0) | 2017.01.17 |
---|---|
[Effective Java] 오버로딩(overloading)을 분별력 있게 사용하자. (0) | 2017.01.16 |
[Effective Java] 필요하면 방어 복사본을 만들자. (2) | 2017.01.10 |
[Effective Java] 매개 변수가 유효한지 검사하기. (0) | 2017.01.09 |
[Effective Java] 타입 정의는 표시 인터페이스를 사용하자. (0) | 2017.01.05 |
댓글