Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Sugestão] Alternativa à extensão para criar o Pet

Na aula 09 - Nova refatoração com testes, desenvolvi uma solução diferente da proposta de criar o Pet à partir de um texto. Ao invés de criar uma extensão do tipo string, que num projeto maior poderia se perder do objetivo de deixar o projeto enxuto, eu criei um método estático na classe Pet.

    /// arquivo Alura.Adopet.Console.Modelos -> Pet
    
        public static Pet FromText(string petTextCsv)
        {
            string[]? propriedades = petTextCsv.Split(';');
            // cria objeto Pet a partir da separação
            Pet pet = new Pet(Guid.Parse(propriedades[0]),
            propriedades[1],
            int.Parse(propriedades[2]) == 1 ? TipoPet.Gato : TipoPet.Cachorro
            );
            return pet;
        }

Não sei se essa forma será mostrada, mas considero uma boa prática.

1 resposta
solução!

Olá João!

Parabéns por buscar alternativas para deixar o código mais legível e aplicar boas práticas de refatoração! A sua solução de criar um método estático na classe Pet é uma opção válida e pode ajudar a manter o projeto enxuto.

No entanto, é importante lembrar que ambas as abordagens têm suas vantagens e desvantagens.

A extensão de string seria uma boa opção se você precisasse realizar essa conversão de texto para Pet em vários pontos do código. Ela permitiria chamar o método diretamente na string, o que poderia deixar o código mais fluente e legível.

Já o método estático na classe Pet pode ser uma boa escolha se a conversão de texto para Pet for uma responsabilidade da classe Pet em si. Isso pode ser útil se você quiser encapsular essa lógica dentro da classe e evitar a criação de uma extensão para string como no seu caso, boa!

Ambas as abordagens são válidas e podem ser utilizadas de acordo com as necessidades do seu projeto. O importante é escolher a opção que melhor se encaixa no contexto em que você está trabalhando, mas parabens de toda forma, em um escalonamento do projeto sua abordagem é muito bacana.

Reforço que em casos de dúvidas, conte sempre com o fórum da comunidade Alura! Bons estudos!

Sucesso

Um grande abraço e até mais!

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