Tem alguma diferença em usar:
return soma == cpf[9];
ao invés de:
return soma != cpf[9];
Por que optar trabalhar com o resultado "false" em vez de "true"? Me parece contra-intuitivo.
Tem alguma diferença em usar:
return soma == cpf[9];
ao invés de:
return soma != cpf[9];
Por que optar trabalhar com o resultado "false" em vez de "true"? Me parece contra-intuitivo.
Olá, Alef, como vai?
Sua dúvida é muito interessante e importante para entender como o código foi estruturado! Vamos lá:
Diferença entrereturn soma == cpf[9]
; e return soma != cpf[9]
;
A diferença está no objetivo do retorno da função e na forma como ela será usada.
return soma == cpf[9]
;return soma != cpf[9]
;Isso acontece porque, no contexto geral do código, a função validaPrimeiroDigito
está sendo usada para detectar falhas no CPF, e não para afirmar que ele é válido. O return false
indica que não houve erro nessa etapa de validação, enquanto o return true
sinaliza que o CPF falhou na verificação. Usar "false" para indicar validade é uma prática comum em validações, pois permite combinar facilmente condições em expressões como if
ou return
.
Espero ter ajudado!
Siga firme nos seus estudos e conte com o fórum sempre que precisar!
Abraços :)