Aplicando a técnica Early return


Early return consiste numa prática onde a lógica de uma estrutura condicional é invertida retornando algum valor em vez de criar um desvio condicional (else, elseif). Utilizá-la na orientação a objetos ajuda na criação de métodos mais simples e que não possuem muitos desvios condicionais.

Essa prática promove um código mais legível e com menos complexidade nas estruturas condicionais, acabando assim com estruturas aninhadas que possuem pouca legibilidade e alta complexidade.

Sem a aplicação dessa técnica as condições possuem desvios condicionais (else) para determinarem a ação de uma tarefa. Por exemplo:

<?php

/**
 *
 * Exemplo de aplicação do early return.
 * @author Raphael da Silva
 *
 */
class MensagemUsuario
{

    public function definirMensagem($nome = null): string
    {

        if(!is_null($nome)){
            $mensagem = 'Olá ' . $nome . '!';
        }else{
            $mensagem = 'Olá mundo!';
        }

        return $mensagem;

    }

}

Para aplicar o Early return no código, é necessário retornar antecipadamente (ou seja early), pois assim o retorno finaliza a execução. Ao aplicar o Early return a implementação ficaria da seguinte maneira:

<?php

/**
 *
 * Exemplo de aplicação do early return.
 * @author Raphael da Silva
 *
 */
class MensagemUsuario
{

    public function definirMensagem($nome = null): string
    {

        if(!is_null($nome)){
            return 'Olá ' . $nome . '!';
        }

        return 'Olá mundo!';

    }

}

Após a aplicação do Early return não é mais necessário uma estrutura condicional de desvio (nesse caso o else) para fazer que o código seja executado em somente alguns casos, já que a parada da execução com o return já faz que o código seja executado em somente alguns casos.

A legibilidade obtida com a prática de Early return faz com que a manutenção do software seja mais fácil, já que uma estrutura condicional simples é mais fácil de entender e, consequentemente, mais fácil de manter.

Tradução do termo que dá nome a prática

Uma tradução simples e literal do termo “early return” é “retorno antecipado”, o que deixa bem óbvio e exposto qual o propósito da prática. Acho válido expor a tradução, mesmo que soe óbvio para muitos, as vezes expor a linguagem em níveis básicos ajuda a compreender os conceitos, foi assim que consegui aprender o que não era óbvio para mim quando comecei a tentar entender conceitos mais complexos da programação.


ver todos os posts
Publicado em 5/06/2021