Iris Classon
Iris Classon - In Love with Code

Not So Stupid Question 329 What Are Explaining Variables

I find it quite amusing that one of the hardest things in programming is naming, what like the same time we seem to have a name for everything in terms of design patterns, methodologies, and so on. I honestly don’t mind as it makes it easier to communicate intent. today I came across the term I haven’t heard before for something that I use quite often.

Explaining Variables Refactoring

“Explaining Variables Refactoring” is a programming technique used to make code more readable and it’s probably something you’ve used before. As the name in implies, it means you introduce a new variable with a descriptive name to hold the result of a complex expression or condition. This technique is particularly useful in cases where the expression or condition is hard to understand at first glance. And to be honest, I used to use these a whole lot more a few years back, but I overdid it and it just cluttered the code. See some good and bad examples below.

Here is an example:

var maxAmount = 50;
if (order.getTotal() - order.getDiscounts() + shipping.cost() > 50)

// Refactored to:

var baseOrderAmount = order.getTotal() - order.getDiscounts()
var totalAmount = baseOrderAmount + shipping.cost()
if (totalAmount > maxAmount)

// Or:
Var totalAmount = order.getTotal() - order.getDiscounts() + shipping.cost()
if (totalAmount > maxAmount)

I prefer the latter :)

Bad usage/ unnecessary (in my opinion):

var amountOverMax = totalAmount > maxAmount
if (amountOverMax)

Comments

Leave a comment below, or by email.

Last modified on 2024-02-23

comments powered by Disqus