[리팩터링 카탈로그] 1-8. 매개변수 객체 만들기

절차

  1. 적당한 데이터 구조가 아직 마련되어 있지 않다면 새로 만든다.
  2. 테스트한다.
  3. 함수 선언 바꾸기로 새 데이터 구조를 매개변수로 추가한다.
  4. 테스트한다.
  5. 함수 호출시 새로운 데이터 구조 인스턴스를 넘기도록 수정한다. 하나씩 수정할 때마다 테스트 한다.
  6. 기존 매개변수를 사용하던 코드를 새 데이터 구조의 원소를 사용하도록 바꾼다.
  7. 다 바꿧다면 기존 매개변수를 제거하고 테스트한다.

예시

Before:

function amountInvoiced(startDate, endDate) {
    //...
}
function amountReceived(startDate, endDate) {
  //...
}
function amountOverDue(startDate, endDate) {
  //...
}

After:

function amountInvoiced(aDateRange) {
  //...
}
function amountReceived(aDateRange) {
  //...
}
function amountOverDue(aDateRange) {
  //...
}

출처 : 리팩터링 2판 – Chapter6

댓글 남기기