Extract Variable - Refactoring skills(3)

Kerem Song·2021년 3월 23일
0

Refactoring - Study

목록 보기
5/22

3. Extract Variable(변수 추출하기)

Add a name to an expression
지역 변수를 활용하여 표현식을 쪼개 관리하기 더 쉽게 만들기.

//price is base price ­ quantity discount + shipping
return order.quantity * order.itemPrice -
  Math.max(0, order.quantity - 500) * order.itemPrice * 0.05 +
  Math.min(order.quantity * order.itemPrice * 0.1, 100)

to

const basePrice = order.quantity * order.itemPrice
const quantityDiscount = Math.max(0, order.quantity ­ 500) * order.itemP
const shipping = Math.min(basePrice * 0.1, 100)
return basePrice ­- quantityDiscount + shipping;

Motivation

  1. Break down and name a part of a more complex piece of logic
    복잡한 로직을 구성하는 단계마다 이름을 붙이고 쪼갤 수 있어서 코드의 목적을 명확하게 드러냄.

  2. Easier for debugging(You can make breakpoint or add statement for printing out that condition.
    디버깅에도 도움이됨.(디버거에 중단점을 지정하거나 상태를 출력하는 문장을 추가할 수 있음)

Procedure

  1. Check that the expression you want to extract has no side effects.
    추출하려는 표현식에 부작용은 없는지 확인한다.

  2. Declare an invariant variable and insert a duplicate of the expression to be named.
    불변 변수를 하나 선언하고 이름을 붙일 표현식의 복제본을 대입한다.

  3. Replace the original expression with a newly created variable.
    원본 표현식을 새로 만든 변수로 교체한다.

  4. Test
    테스트한다.

  5. If the expression is used in multiple places, replace each with a newly created variable. Test each time one is replaced.
    표현식을 여러 곳에서 사용한다면 각각을 새로 만든 변수로 교체한다. 하나 교체할 때마다 테스트한다.

profile
Tea and Dessert

0개의 댓글

관련 채용 정보