Code Smell | Magic Numbers

Code Smell | Magic Numbers

August 16, 2022


Hello, today we are back with the code smells refactoring series and in this case we are going to talk about code smell called Magic Numbers, this code smell can be detect when we use a number that lacks the proper semantics.


Numbers lacking semantics make calculations harder to read.


As we can see in the following example we have 2 magic numbers that are quite easy to detect since it is really complex to know what type of calculation we are performing simply by observing these values: 4.50 and 0.21

function calculateTotal(subtotal) {
    const total = subtotal + 4.5
    return total + total * 0.21


By extracting both numbers to constants and giving them semantics we can see that the code is much more readable.

const SHIPPING_FEE = 4.5
const SALES_TAX = 0.21
function calculateTotal(subtotal) {
    const total = subtotal + SHIPPING_FEE
    return total + total * SALES_TAX


Thanks for reading me 😊