If I see a Variable that does not change. I call that variable a constant
TL;DR: Be explicit on what mutates and what does not.
Problems Addressed
Code Optimization
Related Code Smells
Code Smell 158 - Variables not Variable
Maxi Contieri ・ Aug 13 '22
Code Smell 127 - Mutable Constants
Maxi Contieri ・ Apr 5 '22
Steps
Find the scope of the variable
Define a constant with the same scope
Replace the variable
Sample Code
Before
let lightSpeed = 300000;
var gravity = 9.8;
// 1. Find the scope of the variable
// 2. Define a constant with the same scope
// 3. Replace the variable
After
const lightSpeed = 300000;
const gravity = 9.8;
// 1. Find the scope of the variable
// 2. Define a constant with the same scope
// 3. Replace the variable
// If the object is compound,
// we might need Object.freeze(gravity);
Type
[X] Automatic
Our IDEs can check if a variable is written but never updated.
Safety
This is a safe refactor.
Why code is better?
Code is more compact and declarative.
We can make and step further and use operators like var, let, const, etc.
The scope is more clear.
Tags
- Mutability
Related Refactorings
Refactoring 003 - Extract Constant
Maxi Contieri ・ Jan 2 '22
See also
This article is part of the Refactoring Series.
Top comments (0)