지난 강의에 있는 요거.... charge 를 두번 썼는데,, 쪼갤 수 있지
참조: 내부 객체는 그대로 둔 채 그 객체의 속성만 갱신
값: 새로운 속성을 담은 객체로 기존 내부 객체를 통째로 대체한다.
숫자를 상수로 바꾸기..
- 부수 효과가 없는지 확인한다.
만일 있다면 질의 함수와 변경함수 분리하기 먼저 적용
(아마도) 모두 질의함수이므로 부수효과 없음
- 조건문 두개를 선택하여 결합한다.
- 테스트하고,,
- 2번 3번 반복
- 추출할지 고려해본다: 고고
절차
1. 교체해야 할 조건중 가장 바깥 것을 보호구문으로 바꾼다
2. 테스트한다
3. 1~2번 반복
4. 모든 보호 구문이 같은 결과를 반환한다면 보호 구문들의 조건식을 통합한다.
예시 1번
4번
응용+ 변수 인라인 하기
이걸 이렇게 바꿀수 있다.
먼저 의료진인지 파악하고,
whenIsNotHealthWorker 함수를 넣는데 , 먼저 증상이
크리티컬하며 적정나이인지,
그리고 30상 아래랑 여자인지
그다음에 시간
모든 기법중에 가장 독특한 기법
목적: 예외적인 단 하나의 그러나 자주 쓰이는 케이스를 클래스의 한 형태로 만들어 버려서
유저 시나리오를 일원화 하기
일단 예시 결론부터 하자면
출처: 리팩토링 2판 제로베이스 유료강의 해설