목록전체 글 (55)
구어체로 설명하는 다이어리

변수 인라인하기 let basePrice = anOrder.basePrice;return basePrice > 1000; ▼ return anOrder.basePrice > 1000; 배경변수는 함수 안에서 표현식을 가리키는 이름으로 쓰이며, 대체로 긍정적인 효과를 준다. 하지만 그 이름이 표현식과 다를 바 없을 때도 있다. 또 변수가 주변 코드를 리팩터링하는 데 방해가 되기도 한다. 이럴 때는 그 변수를 인라인하는 것이 좋다. 절차대입문의 우변(표현식)에서 부작용이 생기지는 않는지 확인한다.변수가 불변으로 선언되지 않았다면 불변으로 만든 후 테스트한다.이렇게 하면 변수에 값이 단 한 번만 대입되는지 확인할 수 있다.이 변수를 가장 처음 사용하는 코드를 찾아서 대입문 우변의 코드로 바꾼다.테스트한..

변수 추출하기 return order.quantity * order.itemPrice - Math.max(0, order.quantity - 500) * order.itemPrice * 0.05 + Math.min(order.quantity * order.itemPrice * 0.1, 100); ▼ const basePrice = order.quantity * order.itemPrice;const quantityDiscount = Math.math(0, order.quantity - 500) * order.itemPrice * 0.05;const shipping = Math.min(basePrice * 0.1, 100);return basePrice = quantityDiscount + shi..

함수 인라인하기 function getRating(driver) { return moreThanFiveLateDeliveries(driver) ? 2 : 1;}function moreThanFiveLateDeliveries(driver) { return driver.numberOfLateDeliveries > 5;} ▼ function getRating(driver) { return (driver.numberOfLateDeliveries > 5) ? 2 : 1;} 배경이 책은 목적이 분명히 드러나는 이름의 짤막한 함수를 이용하기를 권한다. 그래야 코드가 명료해지고 이해하기 쉬워지기 때문이다. 하지만 때로는 함수 본문이 이름만큼 명확한 경우도 있다. 또는 함수 본문 코드를 이름만큼 깔끔하게 리팩..