Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Quais são os problemas que você consegue enxergar aqui?
Resposta:
1º Problema: Não é uma boa prática de programação deixar uma variável com acesso publico.
2ª Problema: Não checar se o tipoDocumento ou o documento foi devidamente informado, não se deve executar o método caso não tenham sido, caso seja, uma exception será gerada para o usuário.
3º Problema: Não deveria estar hardcode a variável que é usada para verificar o tipo de documento, isto deveria ser um argumento, ocupa menos memória e linhas de código.
Qual refatoração você propõe?
Porque escolhi o tipo de refatoração efetuado: Deixando tipoDocumento como parâmetro, faz com que seja passado somente mais um parâmetro pelas camadas
do sistema, não precisando definir ou criar processamento em outras partes do sistema para verificar o tipoDocumento escolhido.
Dado o tempo para a tarefa, a refatoração/implementação que eu faria a mais seriam exceptions para tratar erros como "Usuário sem acesso a pasta destino",
"Usuario sem permissão de criação/alteração" e "Arquivo aberto ou em uso".