Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
1
resposta

Inconsistência nos dados

Quando esses dados de atualização deixam de ser obrigatórios, passam a condição de poderem ser inconsistentes, não? Agora, podemos passar um telefone, um nome, ou mesmo uma parte do endereço sendo uma string vazia. Isso não seria uma inconsistência? Pensei em colocar no if uma verificação em conjunto com a de nulo, que seria a caso a string não estivesse vazia. Isso seria válido, sem deixar meu código mais verboso do que o ideal?

1 resposta
solução!

Oii, Guilherme, tudo bem?

Adicionar uma verificação para as strings vazias realmente pode ajudar a manter a consistência dos dados sem tornar o código muito verboso.

Uma prática comum é combinar a verificação de nulidade com a verificação de strings vazias ou apenas espaços em branco.

Com o Java, você pode utilizar o método isEmpty() ou isBlank() da classe String para as verificações.

Um exemplo de código seria deste jeito:

public void atualizarInformacoes(DadosAtualizacaoMedico dados) {
    if (dados.nome() != null && !dados.nome().isBlank()) {
        this.nome = dados.nome();
    }
    if (dados.telefone() != null && !dados.telefone().isBlank()) {
        this.telefone = dados.telefone();
    }
    if (dados.endereco() != null) {
        this.endereco.atualizarInformacoes(dados.endereco());
    }
}

Ali em cima, além de verificar se o dados.nome() e o dados.telefone() não são nulos, também verificamos se não são strings em branco.

Se outra dúvida surgir, estamos aqui! :)

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.