본문 바로가기
프로그래밍 놀이터/디자인 패턴, 리펙토링

[Effective Java] 메소드 시그니처를 신중하게 설계하자.

by 돼지왕 왕돼지 2017. 1. 12.
반응형

 [Effective Java] 메소드 시그니처를 신중하게 설계하자.


API, boolean, Effective JAVA, enum, Extract method, helper class, method name, naming, static 맴버 클래스, [Effective Java] 메소드 시그니처를 신중하게 설계하자., 가독성, 객체 구축, 동작, 매개 변수, 매개 변수 갯수, 메소드, 메소드 시그니처, 메소드 이름, 문서, 문서화, 빌더 패턴, 빌더 페턴, 역할, 인터페이스, 일관성, 지원 클래스, 충분한 기능, 클래스, 테스트, 편리한, 표준 작명 규칙

-
메소드 이름을 신중하게 짓자.
이름은 항상 표준 작명 규칙을 따라야 한다.
이름에는 일관성이 있어야 한다.
폭넓게 공감 가는 이름을 선택해야 한다.


-
편리한 메소드를 만드는데 너무 열중하지 말자.
모든 메소드는 자신의 역할을 해야 한다.
메소드가 너무 많으면, 클래스를 배우고 사용하고 문서화하고 테스트하고 유지하기가 어렵다.
클래스나 인터페이스가 지원하는 각 동작에 대해서 충분한 기능을 수행하는 메소드를 제공하자.


-
너무 많은 매개 변수를 피하자.
매개 변수는 네 개 이하를 목표로 하자.
매개 변수가 네 개를 넘으면 시종일관 문서를 참조하지 않고는 그 메소드 API 를 사용할 수 없다.
같은 타입의 매개 변수가 길게 나오면 특히 더 해롭다.


-
지나치게 긴 매개 변수를 줄이는 세 가지 방법.
    1. 하나의 메소드를 여러 개로 쪼갠다. ( 각각 매개변수의 일부만 필요하다. )
    2. 매개 변수 그룹들을 보존하는 지원 클래스(helper class)를 만드는 것.
    일반적으로 지원 클래스들은 static 맴버 클래스이며, 자주 출현하는 매개 변수열이 어떤 고유한 본질을 나타낼 때 이 방법이 좋다.
    3. 객체 구축에서부터 메소드 호출까지 빌더 패턴을 적용하는 것.


-
매개 변수의 타입은 클래스보다 인터페이스를 사용하자.


-
boolean 매개변수보다는 두 개의 요소를 갖는 enum 을 사용하자.
읽기와 작성이 더 쉬운 코드를 만들 수 있다.






반응형

댓글