1
resposta

[Sugestão] Projeto Ingresso com apenas uma função

function comprar() {
    // 1. Obter valores: tipo de ingresso, quantidade, ingressos disponíveis
    let tipo = document.getElementById('tipo-ingresso').value;
    let quantidade = parseInt(document.getElementById('qtd').value);
    let disponiveis = document.getElementById(`qtd-${tipo}`).innerHTML;

    // 2. Verificar se há ingressos disponíveis
    if (quantidade <= disponiveis) {
        // 3. Subtrair quantidade dos ingressos disponíveis do total
        disponiveis -= quantidade;
        // 4. Atualizar quantidade total de ingressos disponíveis
        document.getElementById(`qtd-${tipo}`).textContent = disponiveis;
        alert('Compra realizada com sucesso!');
    } else {
        let tipoDoIngresso = tipo == 'pista' ? 'Pista' : `Cadeira ${tipo}`;
        alert(`Quantidade indisponível para ${tipoDoIngresso}!`);
    }

    // 5. Limpar quantidade
    document.getElementById('qtd').value = '';
}
1 resposta

Olá Bruno! Tudo joia?

A ideia de encapsular o processo de compra dentro da função "comprar" é uma boa prática, pois ajuda a organizar o código e torná-lo mais legível e reutilizável. No entanto, é importante manter a função coesa, ou seja, focada em realizar uma única tarefa.

No código que você forneceu, a função "comprar" está realizando várias tarefas diferentes, o que pode torná-la menos coesa e mais difícil de manter e depurar. Isso quando pensamos em um projeto em larga escala, então você não terá muitos problemas em projetos mais simples, contudo é importante ter isso mente.

Espero ter ajudado e bons estudos!