Рефакторинг 008 — Преобразование переменных в постоянные

Если я вижу переменную, которая не изменяется. Я называю эту переменную константой

TL;DR: Будьте ясны в том, что мутирует, а что нет.

Решенные проблемы

  • Мутабельность

  • Оптимизация кода

Связанные запахи кода

Запах кода 158 — Переменные не переменные

Maxi Contieri ・ Aug 13 ・ 2 min read

#webdev #новичкам #программирование #учебник

Запах кода 127 — Взаимозаменяемые константы

Maxi Contieri ・ Apr 5 ・ 2 min read

#учебник #webdev #javascript #новичкам

Code Smell 116 — Переменные, объявленные с помощью ‘var’

Maxi Contieri ・ Feb 23 ・ 2 min read

Шаги

  1. Определите область видимости переменной

  2. Определите константу с той же областью видимости

  3. Замените переменную

Пример кода

Перед


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 

Вход в полноэкранный режим Выйти из полноэкранного режима

После


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);

Ввести полноэкранный режим Выйти из полноэкранного режима

Тип

[X] Автоматический

Наши IDE могут проверить, если переменная записана, но никогда не обновлялась.

Безопасность

Это безопасный рефактор.

Почему код лучше?

Код более компактен и декларативен.

Мы можем сделать шаг дальше и использовать такие операторы, как var, let, const и т.д.

Область применения более ясна.

Теги

  • Мутабельность

Смежные рефакторинги

Рефакторинг 003 — Извлечение константы

Maxi Contieri ・ Jan 2 ・ 1 min read

#oop #программирование #рефакторинг #чистый код

Смотрите также

Злые силы мутантов

Maxi Contieri ・ Dec 19 ’20 ・ 6 min read

#webdev #программирование #мутация #oop

Эта статья является частью серии Рефакторинг.

Оцените статью
devanswers.ru
Добавить комментарий