Chapter 01 리팩터링 : 첫 번째 예시

nevertheless my pace·2023년 1월 18일
0

리팩터링

목록 보기
1/1

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 마치며

  • 단계쪼개기
  • 로직분리
  • 조건부 로직을 다형성으로 개선
  • 딱 시키는일만 하지말자

0개의 댓글