


Calcule o total com desconto em JavaScript
No código que você forneceu, existem alguns problemas que podem ser considerados "impróprios" ou abaixo do ideal:
1. Instrução `return` ausente: A função `calculate_total()` não retorna nada, o que significa que retornará `indefinido` por padrão. Você deve adicionar uma instrução `return` no final da função para especificar qual valor ela retorna.
2. Variáveis não utilizadas: A variável `desconto` recebe um valor, mas nunca é usada. Você deve remover o código não utilizado para evitar confusão e torná-lo mais legível.
3. Números mágicos: o código usa valores codificados como `10` e `50` sem qualquer explicação ou documentação. Seria melhor usar constantes ou variáveis nomeadas para tornar o código mais legível e de fácil manutenção.
4. Complexidade: o código possui várias instruções `if` aninhadas, o que pode dificultar a compreensão e a depuração. Você poderia simplificar o código consolidando algumas das condições em uma única instrução `if` ou usando uma instrução `switch`.
5. Falta de tratamento de erros: O código não trata erros se o usuário inserir um valor inválido para a porcentagem de desconto. Você deve adicionar tratamento de erros para garantir que a função lide com entradas inesperadas normalmente.
Aqui está uma versão atualizada do código que aborda esses problemas:
```javascript
function calcula_total(preço, desconto) {
const DISCOUNT_PERCENTAGE = 0.1; // define uma constante para a porcentagem de desconto
if (desconto === indefinido || desconto < 0 || desconto > 100) {
throw new Error('Valor de desconto inválido');
}
const total = preço * (1 - (DISCOUNT_PERCENTAGE * desconto));
retorno total;
}
```



