ConstructiCat Logo
CodeBust.
Browse section ▾

Inline Temp.

Problem

You have a temporary variable that’s assigned the result of a simple expression and nothing more.

Solution

Replace the references to the variable with the expression itself.

##Example

Before
boolean hasDiscount(Order order) {
  double basePrice = order.basePrice();
  return basePrice > 1000;
}
After
boolean hasDiscount(Order order) {
  return order.basePrice() > 1000;
}

##Why Refactor

Inline local variables are almost always used as part of Replace Temp with Query or to pave the way for Extract Method.

##Benefits

  • This refactoring technique offers almost no benefit in and of itself. However, if the variable is assigned the result of a method, you can marginally improve the readability of the program by getting rid of the unnecessary variable.

##How to Refactor

  1. Find all places that use the variable. Instead of the variable, use the expression that had been assigned to it.

  2. Delete the declaration of the variable and its assignment line.