Clean Code e o IF
Pequenos detalhes podem mudar toda uma obra. Artistas sabem disso e trabalham muito nos detalhes. Alguns detalhes até podem passar desapercebidos, mas elevam uma obra aos status prima.
Davi, de Michelangelo. Muitos detalhes que o elevam a obra prima.
Acompanhei o desenvolvimento de um método onde o retorno é do tipo Boolean. Vou por um exemplo genérico. A primeira versão era assim:
public boolean metodo(string parametro){
if (parametro != null){
return true;
} else {
return false;
}
}
O movimento Clean Code criou algumas regras para que o desenvolvedor crie um código mais limpo, legível e profissional. Umas das regras refere-se ao uso do IF.
Se você nunca trabalhou em um projeto grande acredite em mim, a quantidade de if’s que as vezes aparecem num único método pode se tornar uma maldição.
O Clean Code diz para tentarmos eliminar os if’s o máximo possível. Na orientação a objetos podemos fazer isso utilizando polimorfismo. Mas o que quero mostrar é algo mais simples e que deixa o código mais limpo e bonito.
O método acima pode ser refatorado para eliminar o if. Foi o que o desenvolvedor fez. A segunda versão ficou assim:
public boolean metodo(string parametro){
return parametro != null ? true : false;
}
O método já ficou mais legível por utilizar essa forma contracta de condicional. Ele foi entregue dessa forma. Mas se prestarmos atenção aos detalhes podemos ver uma redundância no código. A comparação “parâmetro != null” já retorna true ou false e não há necessidade de explicitar isso no código. Assim, a terceira versão seria a mais limpa e profissional a ser entregue:
public boolean metodo(string parametro){
return parametro != null;
}
Vale lembrar que qualquer uma das três versões resolve o problema para o qual o método foi criado e o usuário final não iria ver como foi feito. Esse detalhe seria apreciado pelo próprio desenvolvedor e pelos demais profissionais que darão manutenção posteriormente. Como você gostaria que seus códigos fossem comentados posteriormente? E em um teste para uma vaga de emprego um código limpo poderá ser um grande diferencial, demonstrando que o profissional sabe o que faz e sabe como a linguagem trabalha.