mobile theme mode icon
theme mode light icon theme mode dark icon
speech play
speech pause
speech stop

Обчисліть загальну суму зі знижкою в JavaScript

У наданому вами коді є кілька проблем, які можна вважати "невідповідними" або неоптимальними:

1. Відсутній оператор "повернути": функція "calculate_total()" нічого не повертає, тобто за замовчуванням повертатиме значення "невизначено". Ви повинні додати оператор `return` в кінці функції, щоб указати, яке значення вона повертає.
2. Невикористовувані змінні: змінній `discount` присвоюється значення, але вона ніколи не використовується. Ви повинні видалити невикористаний код, щоб уникнути плутанини та зробити код більш читабельним.
3. Магічні числа: код використовує жорстко закодовані значення, такі як "10" і "50", без будь-яких пояснень чи документації. Було б краще використовувати іменовані константи або змінні, щоб зробити код більш читабельним і придатним для обслуговування.
4. Складність: код має кілька вкладених операторів if, що може ускладнити його розуміння та налагодження. Ви можете спростити код, об’єднавши деякі умови в один оператор if або використовуючи оператор switch.
5. Відсутність обробки помилок: код не обробляє помилки, якщо користувач вводить недійсне значення для відсотка знижки. Ви повинні додати обробку помилок, щоб переконатися, що функція обробляє неочікуваний вхідний сигнал акуратно.

Ось оновлена ​​версія коду, яка вирішує ці проблеми:
```javascript
function calculate_total(price, discount) {
const DISCOUNT_PERCENTAGE = 0,1; // визначте константу для відсотка знижки

if (discount === undefined || discount < 0 || discount > 100) {
throw new Error('Invalid discount value');
}

const total = price * (1 - (DISCOUNT_PERCENTAGE * знижка));

повернути загальну суму;
}
```

Knowway.org використовує файли cookie, щоб надати вам кращий сервіс. Використовуючи Knowway.org, ви погоджуєтесь на використання файлів cookie. Для отримання детальної інформації ви можете переглянути текст нашої Політики щодо файлів cookie. close-policy