1
resposta

[Sugestão] Código redundante

// validaPrimeiroDigito()
// (...)

soma = (soma * 10) % 11;

if (soma == 10 || soma == 11) {
    soma = 0;
}

No código apresentado na aula, é verificado se a soma é igual 11 logo após o resultado da multiplicação ser divido por 11 para se obter o módulo da operação. Ora, 11 é divisível por 11, logo o resultado final da operação nunca será 11, e portanto, a segunda condição no "if" é desnecessária:

soma = (soma * 10) % 11;

if (soma == 10) {
    soma = 0;
}

Isso remove a redundância do código original. Ademais, se o que preciso é que quando a soma seja igual a 10 essa torne-se em 0, ou seja, esteja entre 0 e 9, é possível ainda simplificar o código obtendo o módulo da divisão por 10 logo após a operação que é atribuida à variável "soma", da seguinte maneira:

soma = soma * 10 % 11 % 10;

Espero que isso possa ajudar nos seus estudos de lógica!

1 resposta

Oi, Tiago, tudo bem?

Muito obrigado por compartilhar essa sugestão com os demais alunos. Tenho certeza que vai ajudar os demais colegas que estão estudando esse mesmo assunto. Além disso, é um ponto de reflexão para pensar sobre a lógica envolvendo a validação do CPF.

Continue mergulhando em tecnologia e se tiver dúvidas, conte com o fórum. Abraços!