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
Steps
Move the constant code fragment to a constant declaration
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 code is better?
Constant names add meaning to our code.
Magic numbers are difficult to understand and change.
Code must be as declarative as possible.
Tags
- Readability
Related Refactorings
Credits
This article is part of the Refactoring Series.