Article image
Gilberto Junior
Gilberto Junior12/03/2023 21:54
Compartilhe

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.

    image

    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.

    Compartilhe
    Comentários (3)
    Leila Vasconcelos
    Leila Vasconcelos - 13/03/2023 11:28

    Obrigada por compartilhar, Gilberto!

    Denilson Palma
    Denilson Palma - 13/03/2023 10:33

    Isso é genial. Obrigado por compartilhar!

    Marcio Junior
    Marcio Junior - 12/03/2023 22:40

    Excelente colocação, estou estudando JS e já tento ao máximo reduzir os IFs mas interessante a abordagem do Clean Code. Valeu pela Dica.