3
respostas

Dúvida sobre a prática Tell don't ask

Olá Vinícius,

Estou seguindo o seu curso de PHP. Fiquei com uma dúvida em relação ao vídeo que aborda o Tell don't ask. Quando faz a comparação :

if($this->status !== PostStatus::RASCUNHO) { ... }

Porque não compara antes:

if($this->status === PostStatus::PUBLICADO) { ... }

Considero mais fácil de ler uma comparação com o operador === do que com o !==.

Obrigado.

3 respostas

Andre, eu não me lembro de qual exemplo você está falando. Só pelo trecho de código que você postou aqui, faz sentido inverter sim, mas eu precisaria ver todo o código pra entender do que você está falando.

Em qual atividade isso é implementado? Pode mandar o link?

Olá Vinícius,

Esse vídeo pertence ao Alura +:

https://www.youtube.com/watch?v=6mfX6863SAk

Obrigado.

Ah, André. Dessa forma nós aplicamos o Fail Fast e podemos remover o else. Fail fast permite que nós vejamos os cenários de erro antes na leitura do código. Se um post já estiver sido publicado, temos um caso excepcional. Ler os casos excepcionais antes facilita na hora de entendermos o que um código faz. :-)

Pesquise sobre Early Return e Fail Fast. :-D