리팩터링 : 첫번째 예시
- 리팩터링을 할 때마다 제대로 프로그램이 실행되는지 테스트하는 것이 가장 중요하다.
- 함수 본문을 읽지 않고도 무슨 일을 하는 함수인지를 알 수 있도록 하는 이름을 짓는 것이 중요하다.
- 반복문 내부에서 다른 행위를 하는 부분을 쪼개고 반복문 앞에 변수를 초기화하는 부분을 위치시킨 다음 해당 부분을 함수로 추출해낸다.
타입에 따라 달라지는 조건문 리펙토링
- 조건부 로직은 코드 수정 횟수가 늘어날 수록 골칫거리가 된다.
- 생성자 자체를 팩터리 함수로 바꾼다.
-> 객체를 생성할 때 하위 클래스로 반환하도록 하면 그 뒤에 함수를 사용할 때마다 각각의 하위 클래스에 맞는 함수를 사용할 수 있다.
값이 바뀌지 않는 변수는 매개변수로 전달