Code Smell 116 - Variables Declared With 'var'
Var, Let, Const: are all the same, aren't they?
·Feb 23, 2022·
2 min read
Play this article
TL;DR: Choose wisely your variable names, scope, and mutability.
- Declare const all variables unless you need to change them
Most languages don't need variable declarations.
Some other languages allow us to state mutability.
We should be strict and explicit with our declarations.
var pi = 3.14 var universeAgeInYears = 13.800.000.000 pi = 3.1415 // no error universeAgeInYears = 13.800.000.001 // no error
const pi = 3.14 //Value cannot mutate or change let universeAgeInYears = 13.800.000.000 //Value can change pi = 3.1415 // error. cannot define universeAgeInYears = 13.800.000.001 // no error
With mutation testing by forcing a 'const' declaration, we can check if a value remains constant and be more declarative by explicitly enforcing it.
Readability is always very important.
We need to explicitly state our intentions and usages.
Just as it is a good practice to make all fields private unless they need greater visibility, it is a good practice to make all fields final unless they need to be mutable.
This article is part of the CodeSmell Series.