반응형
임시변수 내용 직접 삽입 (Inline Temp)은 임시변수를 사용하지 않고 그 값을 직접 참조하여 코드를 간결하게 만드는 리팩토링 기법입니다. 이 기법을 적용하면 임시변수를 사용하지 않으므로 코드 중복과 가독성 문제를 해결할 수 있습니다.
예를 들어, 다음과 같은 코드가 있다고 가정해보겠습니다.
func calculateTotalPrice(price: Double, count: Int) -> Double {
let totalPrice = price * Double(count)
let isDiscountable = count > 10
var finalPrice = totalPrice
if isDiscountable {
finalPrice *= 0.9
}
return finalPrice
}
위 코드에서는 totalPrice와 isDiscountable이라는 두 개의 임시변수를 사용하여 finalPrice를 계산합니다.
이를 임시변수를 사용하지 않도록 다음과 같이 변경할 수 있습니다.
func calculateTotalPrice(price: Double, count: Int) -> Double {
var finalPrice = price * Double(count)
if count > 10 {
finalPrice *= 0.9
}
return finalPrice
}
위 예시에서는 totalPrice와 isDiscountable 임시변수를 사용하지 않고, finalPrice를 직접 계산하여 코드를 간결하게 만들었습니다.
단, 이 기법을 적용할 때는 임시변수가 코드의 가독성을 높일 때에는 적용하지 않는 것이 좋습니다.
또한, 계산식이 복잡한 경우에는 코드의 가독성을 해치지 않도록 주의해야 합니다.
감사합니다.
반응형
'Code_Refactoring' 카테고리의 다른 글
임시변수 분리 (Split Temporary Variable) (0) | 2023.03.11 |
---|---|
직관적 임시변수 사용 (Introduce Explaining Variable) (0) | 2023.03.11 |
임시변수를 메서드 호출로 전환 (Replace Temp with Query) (0) | 2023.03.11 |
메서드 내용 직접 삽입 (0) | 2023.03.11 |