cft

Refactoring 008 - Convert Variables to Constant

Be explicit on what mutates and what does not.


user

Maximiliano Contieri

2 years ago | 1 min read

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

Related Code Smells

Code Smell 158 - Variables not Variable

Code Smell 127 - Mutable Constants

Code Smell 116 - Variables Declared With 'var'

Steps

  1. Find the scope of the variable
  2. Define a constant with the same scope
  3. 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

See also

The Evil Power of Mutants

This article is part of the Refactoring Series.

Upvote


user
Created by

Maximiliano Contieri

🎓Learn something new every day.📆 💻CS software engineer 👷coding👨🏽‍🏫teaching ✍🏾writing 🎨Software Design 🏢SOLID 🌉TDD 👴Legacy 💩Code Smells


people
Post

Upvote

Downvote

Comment

Bookmark

Share


Related Articles