


Bereken het totaal met korting in JavaScript
In de code die u heeft opgegeven, zijn er een paar problemen die als "ongepast" of suboptimaal kunnen worden beschouwd:
1. Ontbrekende `return`-instructie: De functie `calculate_total()` retourneert niets, wat betekent dat deze standaard `undefined` retourneert. U moet een `return`-instructie toevoegen aan het einde van de functie om aan te geven welke waarde deze retourneert.
2. Ongebruikte variabelen: De variabele `korting` krijgt een waarde toegewezen, maar wordt nooit gebruikt. U moet de ongebruikte code verwijderen om verwarring te voorkomen en de code beter leesbaar te maken.
3. Magische getallen: De code gebruikt hardgecodeerde waarden zoals `10` en `50` zonder enige uitleg of documentatie. Het zou beter zijn om benoemde constanten of variabelen te gebruiken om de code leesbaarder en onderhoudbaarder te maken. Complexiteit: De code heeft meerdere geneste 'if'-instructies, waardoor deze moeilijk te begrijpen en te debuggen is. Je zou de code kunnen vereenvoudigen door een aantal voorwaarden samen te voegen in een enkele 'if'-instructie of door een 'switch'-instructie te gebruiken. Gebrek aan foutafhandeling: de code handelt geen fouten af als de gebruiker een ongeldige waarde voor het kortingspercentage invoert. U moet foutafhandeling toevoegen om ervoor te zorgen dat de functie onverwachte invoer correct verwerkt.
Hier is een bijgewerkte versie van de code die deze problemen oplost:
```javascript
function computation_total(price, discount) {
const DISCOUNT_PERCENTAGE = 0.1; // definieer een constante voor het kortingspercentage
if (korting === ongedefinieerd || korting < 0 || korting > 100) {
throw new Error('Ongeldige kortingswaarde');
}
const totaal = prijs * (1 - (DISCOUNT_PERCENTAGE * korting));
totaal retour;
}
```



