Skip to content

Latest commit

 

History

History
85 lines (48 loc) · 1.77 KB

File metadata and controls

85 lines (48 loc) · 1.77 KB

Refactoring 003 - Extract Constant

Refactoring 003 - Extract Constant

You need to use some values explaining their meaning and origin

TL;DR: Name all your magic numbers

Problems Addressed

  • Readability

  • Complexity

  • Code Reuse

Related Code Smells

Code Smell 02 - Constants and Magic Numbers

Steps

  1. Move the constant code fragment to a constant declaration

  2. Replace the values with a reference to the constant.

Sample Code

Before

double energy(double mass) {
  return mass * 300.000 ^ 2;
}

After

// 1. Move the constant code fragment to a constant declaration
final double LIGHT_SPEED = 300.000;

double energy(double mass) {
  // 2. Replace the old code with a reference to the constant.
  return mass * LIGHT_SPEED ^ 2;
}

Type

[X] Automatic

Many IDEs support this safe refactoring

Why is the Code Better?

Constant names add meaning to our code.

Magic numbers are difficult to understand and change.

Code must be as declarative as possible.

Safety

This is a safe refactoring.

Tags

  • Readability

Related Refactorings

Refactoring 002 - Extract Method

Credits

Image by Tumisu on Pixabay


This article is part of the Refactoring Series.