Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- ECMA2015
- 이펙티브자바
- CAS
- javascript type
- javascript value
- you don't know js
- effectivejava
- Babel
- webpack
- nodeJS
- spring batch #스프링 배치 #스프링 배치 중복 실행
- javascript
- JetBrains
- javascript 기초
- Redis
- Intellij
- java.util.LinkedHashMap cannot be cast
- Effective Java
- 자바스크립트
- requestbody
- java
- ES6
- spring security
- Spring
- 자바
- javascript 값
- Spring Session
- webstorm
- 이펙티브 자바
- javascript native
Archives
- Today
- Total
귀찮지만 만들어보자
이펙티브 자바 - 메서드(3) 본문
메서드 시그니처를 신중히 설계하라
- 메서드 이름을 신중히 짓자.
이게 제일 어렵다 우웩
- 편의 메서드를 너무 많이 만들지 말자
이건 유틸성으로 사용하는 메서드를 만들어서 사용하는 경우뿐만 아니라,
외부 라이브러리를 사용하는 경우 또한 마찬가지다.
자바의 장점이 활용할 수 있는 라이브러리가 많다는 점인데..
간혹 이게 장점인지 단점인지 분간이 안갈때가 있다.
분명 같은 역할을 하는 유틸인데 spring에서 만든것도 있고, apache에서 만든것도 있고..
그래서 협업하는 단계에서 골치아플 때가 많다.
- 매개변수 목록은 짧게 유지하자
4개 이하가 좋다고한다.
과하게 긴 매개변수 목록을 짧게 줄이는 방법
1. 메서드를 쪼갠다
- 여러개의 메서드를 조합해서 사용하는 방식이다. 잘못하면 메서드의 개수만 많아질 수 있지만
잘 만들면 직교성을 높여 메서드 수를 줄여주는 효과도 있다. 직교성이 궁금하다면 검색해보자..;
2. 매개변수 여러개를 묶어주는 도우미 클래스를 만든다
- 흔히 사용하는 방법인데 변수 각각이 아닌 하나의 객체에 몰아넣는것이다.
3. 위의 두가지 방법을 혼합한 것으로, 빌더 패턴을 메서드 호출에 응용한다고 보면 된다.
- 매개변수의 타입으로는 클래스보다 인터페이스가 낫다
확장성 측면에서 훨씬 낫다.
void get(ArrayList<String> list);
void get(List<String> list);
전자보다 후자가 낫다는 말이다.
- boolean보다 원소 2개짜리 열거 타입이 낫다
의미를 더 명확하게 할 수 있다.
Theromometer.newInstance(true);
Theromometer.newInstance(TemperatureSacle.CELSIUS);
전자보다 후자가 어떤 의미인지 파악하기 쉽다.
'이펙티브 자바' 카테고리의 다른 글
이펙티브 자바 - 메서드(4) (0) | 2019.01.27 |
---|---|
이펙티브 자바 - 메서드(2) (0) | 2019.01.27 |
이펙티브 자바 - 메서드(1) (0) | 2019.01.27 |
이펙티브 자바 - 람다와 스트림(7) (0) | 2019.01.19 |
이펙티브 자바 - 람다와 스트림(6) (0) | 2019.01.19 |