-
-
Notifications
You must be signed in to change notification settings - Fork 61
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implementar função para remover símbolos específicos de uma string de CPF #444
base: main
Are you sure you want to change the base?
Conversation
…est closes #issue 437
e73d19f
to
4e17a25
Compare
4e17a25
to
105d318
Compare
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #444 +/- ##
=======================================
Coverage 99.78% 99.79%
=======================================
Files 18 18
Lines 472 481 +9
=======================================
+ Hits 471 480 +9
Misses 1 1 ☔ View full report in Codecov by Sentry. |
brutils/cpf.py
Outdated
cpf_no_symbols = "" | ||
if cpf == "": | ||
return None | ||
elif not isinstance(cpf, str): | ||
return None | ||
else: | ||
for character in cpf: | ||
if character not in ".-": | ||
cpf_no_symbols += character | ||
if len(cpf_no_symbols) < 10: | ||
return None | ||
elif len(cpf_no_symbols) > 11: | ||
return None | ||
else: | ||
return cpf_no_symbols |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cpf_no_symbols = "" | |
if cpf == "": | |
return None | |
elif not isinstance(cpf, str): | |
return None | |
else: | |
for character in cpf: | |
if character not in ".-": | |
cpf_no_symbols += character | |
if len(cpf_no_symbols) < 10: | |
return None | |
elif len(cpf_no_symbols) > 11: | |
return None | |
else: | |
return cpf_no_symbols | |
result = None | |
if isinstance(cpf, str) and cpf != "": | |
cpf_no_symbols = ''.join([char for char in cpf if char not in ".-"]) | |
if len(cpf_no_symbols) == 11: | |
result = cpf_no_symbols | |
return result |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Creio q dessa maneira fica mais legivel o codigo, verificamos o tipo do cpf apenas em 1 if, utilizamos um list-comprehension para lidar com o tratamento da string que fica mais enxuto e mais legivel tambem, e deixamos apenas um retorno na função, oq é o ideal.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Obrigado pelo retorno, fabio. Já alterei conforme solicitado. Realmente ficou muito melhor mesmo. Muito obrigado!
brutils/cpf.py
Outdated
""" | ||
|
||
result = None | ||
cpf_no_symbols = "" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
pode remover essa linha aqui, nao esta fazendo mais nada.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fabio, qual linha? Desculpe, sou iniciante ainda.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@vmagueta claro sem problemas mano, pode remover a linha 276 onde esta sendo declarada a variavel cpf_no_symbols, não precisamos fazer essa atribuição aqui pois estamos declarando ela com o valor na linha 278.
@vmagueta fala meu nobre! uma dica, sempre coloque um título descritivo no teu pr pra aumentar as chances de revisão como "adiciona função para remover símbolos específicos de cpf" ou algo que deixe claro sobre o que é esse novo código. o @FabioCruzDev já deu umas dicas boas pra melhorar o código mas ainda podemos melhorar um pouquinho mais.. se quiser podemos marcar uma call rapidinha e fazemos juntos.. te mandei uma mensagem no linkedin 😄 |
Poxa, com certeza @niltonpimentel02 , vai ser muito bom ter esta tua ajuda em call, se não for te atrapalhar! Inclusive, já te respondi no Linkedin. Muitíssimo obrigado! |
Descrição
Implementada a função
remove_symbols_cpf
, que irá remover os símbolos.
e-
do CPF fornecido. Em caso de envio de string vazia, ou um inteiro, ou um CPF faltando números ou com números a mais, irá retornar None. Também implementada a Docstring e a doctest, conforme solicitado na issue #437. Adicionado os testes unitários referente a essa função, testando positivamente para remover os symbols, negativo para cpf inválidos ou não formatados.Checklist de Revisão
Issue Relacionada
Closes #437