Главная страница » JavaScript » 29. Магические числа
Магические числа (Magic Numbers) — это числовые литералы, которые появляются в коде без явного объяснения их смысла. Использование магических чисел в коде затрудняет его чтение и сопровождение. В этом уроке мы рассмотрим, почему использование магических чисел является плохой практикой, и как можно улучшить код, избегая их.
Определение магических чисел
let totalPrice = price * 1.2; // 1.2 — магическое число
Проблемы с магическими числами
Как избежать магических чисел
const TAX_RATE = 0.2;
let totalPrice = price * (1 + TAX_RATE);
Пример с магическими числами
function calculateFinalPrice(price) {
return price * 1.18; // 1.18 — магическое число
}
let finalPrice = calculateFinalPrice(100);
console.log(finalPrice); // 118
Исправленный пример с использованием констант
const VAT_RATE = 0.18;
function calculateFinalPrice(price) {
return price * (1 + VAT_RATE);
}
let finalPrice = calculateFinalPrice(100);
console.log(finalPrice); // 118
Использование нескольких констант
const DISCOUNT_RATE = 0.1;
const SHIPPING_COST = 5.99;
function calculateTotal(price) {
let discountedPrice = price * (1 - DISCOUNT_RATE);
return discountedPrice + SHIPPING_COST;
}
let total = calculateTotal(100);
console.log(total); // 95.99
Магические числа в условиях
if (userAge >= 18) { // 18 — магическое число
// код для взрослых пользователей
}
Исправленный вариант
const ADULT_AGE = 18;
if (userAge >= ADULT_AGE) {
// код для взрослых пользователей
}
Магические числа в циклах
for (let i = 0; i < 10; i++) { // 10 — магическое число
// код
}
Исправленный вариант
const MAX_ITERATIONS = 10;
for (let i = 0; i < MAX_ITERATIONS; i++) {
// код
}
Избегание магических чисел — важный аспект написания чистого и поддерживаемого кода. Использование констант с описательными именами помогает сделать код более понятным и легким для сопровождения. Это улучшает читаемость кода и уменьшает вероятность ошибок.
calculateTotalCost
замените магическое число на константу с описательным именем.isSeniorCitizen
, которая принимает возраст пользователя и возвращает true
, если возраст больше или равен 65. Используйте константу для значения возраста.Пример решения:
// Задание 1
const TAX_RATE = 0.2;
function calculateTotalCost(price) {
return price * (1 + TAX_RATE);
}
let totalCost = calculateTotalCost(150);
console.log(totalCost); // 180
// Задание 2
const SENIOR_AGE = 65;
function isSeniorCitizen(age) {
return age >= SENIOR_AGE;
}
console.log(isSeniorCitizen(70)); // true
console.log(isSeniorCitizen(60)); // false
Этот урок поможет вам лучше понять важность избегания магических чисел в JavaScript и научит использовать константы для улучшения читаемости и сопровождаемости кода.
Наша цель и главная задача сделать качественное образование в вашем браузере
Телефон: +375 33 910-08-92
Email: info@codefor.tech
Адрес: г. Барановичи, ул. Пирогова, д. 7
© 2024 Все права защищены. CodeFor.