직관적 임시변수 사용 (Introduce Explaining Variable)

직관적 임시변수 사용 (Introduce Explaining Variable)은 임시변수를 사용하여 복잡한 식이나 계산 결과를 저장하고, 이를 이해하기 쉬운 이름으로 명명하여 가독성을 높이는 리팩토링 기법입니다.

예를 들어, 다음과 같은 코드가 있다고 가정해보겠습니다.

func calculateTotalPrice(price: Double, count: Int) -> Double {
    var totalPrice = price * Double(count)
    if count > 10 {
        totalPrice *= 0.9
    }
    return totalPrice
}

위 코드에서 totalPrice는 price와 count를 사용하여 계산되므로, 이를 이해하기 어려울 수 있습니다. 이를 직관적인 임시변수를 사용하여 가독성을 높일 수 있습니다.

func calculateTotalPrice(price: Double, count: Int) -> Double {
    let basePrice = price * Double(count)
    let discountRate = count > 10 ? 0.9 : 1.0
    let totalPrice = basePrice * discountRate
    return totalPrice
}

위 코드에서 basePrice는 price와 count를 사용하여 계산된 가격을 저장하고, discountRate는 count가 10 이상인 경우 0.9, 그렇지 않은 경우 1.0으로 할인율을 저장합니다. 그리고 totalPrice는 basePrice와 discountRate를 곱한 값으로 최종 가격을 저장합니다.

이를 통해, 변수의 이름을 통해 해당 변수의 역할을 쉽게 파악할 수 있으므로 코드의 가독성을 높일 수 있습니다.

단, 이 기법을 적용할 때에는 너무 많은 임시변수를 사용하면 오히려 코드의 가독성을 해치므로 적절한 개수의 변수를 사용해야 합니다. 또한, 변수 이름을 명확하게 지어야 하며, 변수의 역할이 분명하게 파악되지 않는 경우에는 이 기법을 적용하지 않는 것이 좋습니다.

 

감사합니다.