1.1 자 시작해보자!
연극을 하는 극단의 청구서를 출력해주는 코드를 리팩토링해본다.
1.2 예시 프로그램을 본 소감
보기에 불편했던점
- 연극의 유형 별로 기본금액+청중이 특정인원 이상일때 금액추가 로직이 코드에 반영이 되어있다 이부분도 따로 json으로 뺴면 좋지 않을까?
- 추가포인트도 산정 기준도 json으로 따로 빼는것이 좋을것같다는 생각을 했다.
1.3 리팩터링의 첫 단계
- 테스트코드를 함께 작성한다.
함수단위에서 시작해보자 (ex utils )
1.4 statement() 함수 쪼개기
-
p.34 매개변수의 역할이 뚜렷하지 않을때는 부정관사(a/an)을 붙인다.(Smaltalk Best Practice Pattern) 무슨말인지 잘 모르겟다.
-
매개변수의 역할이 뚜렷하지 않을때 라는게 무슨의미인지 잘모르겟다
-
함수 추출작업시 지역변수들을 먼저 없애면 추출작업이 쉬워진다!
-
성능은 신경쓰지말고 일단 리팩토링하라 성능차이는 대게 미미할 경우가 많다.
리팩터링으로 인해 성능이 떨어진다면 리팩터링 마무리후 성능을 개선하자
1.5 중간점검:난무하는 중첩함수
1.6 계산 단계와 포맷팅 단계 분리하기
- 단계 쪼개기 큰 카테고리를 나눈다
계산하는 로직과 포맷팅하는로직
- 기존데이터를 기반으로 계산된 데이터를 만든다.
1.7 중간 점검: 두 파일로 분리됨
- 항시 코드베이스를 작업하기 전보다 더 건강하게 고친다
멋진말이다 항상 마음속에 새겨두도록 하는게 좋을것같다.
1.8 다형성을 활용해 계산 코드 구성하기
1.9 상태 점검: 다형성을 활용하여 데이터 생성하기
1.10 마치며
- 단계쪼개기
- 로직분리
- 조건부 로직을 다형성으로 개선
- 딱 시키는일만 하지말자