if-else & early return

Leandro Torres - Oct 26 - - Dev Community

Olá Devs! 👩‍💻👨‍💻

A legibilidade e compreensão de um código são aspectos muito importantes, utilizando boas práticas você consegue ter um código melhor e mais fácil de ser mantido.

Jeff Bay publicou no seu livro chamado Thought Works Anthology, um conjunto de boas práticas chamado "Object Calisthenics".

Nesse conjunto ele aborda alguns pontos e um deles é "Don’t Use The ELSE Keyword (Não use a palavra-chave ELSE)". Esse conceito reforça que você deve evitar ao máximo a utilização de ELSE. Existem algumas formas de adotarmos isso, mas vou focar em dois caminhos relativamente tranquilos de seguir.

Peguei uma tabela de temperatura corporal na Web e fiz esse método, vamos seguir com ele como base

public string VerificarTemperaturaCorporal(double temperatura)
{
    string retorno = "";
    if (temperatura >= 36 && temperatura <= 37.5)
    {
        retorno = "Normal";
    }
    else if (temperatura >= 37.6 && temperatura <= 39.5)
    {
        retorno = "Febre";
    }
    else if (temperatura >= 39.6 && temperatura < 41)
    {
        retorno = "Febre alta";
    }
    else if (temperatura >= 41)
    {
        retorno = "Hipertemia";
    }
    else
    {
        retorno = "Hipotermia";
    }

    return retorno;
}
Enter fullscreen mode Exit fullscreen mode

Utilize somente o IF

public string VerificarTemperaturaCorporalv2(double temperatura)
{
    string retorno = "Hipotermia";

    if (temperatura >= 36 && temperatura <= 37.5) retorno = "Normal";

    if (temperatura >= 37.6 && temperatura <= 39.5) retorno = "Febre";

    if (temperatura >= 39.6 && temperatura < 41) retorno = "Febre alta";

    if (temperatura >= 41) retorno = "Hipertemia";

    return retorno;
}
Enter fullscreen mode Exit fullscreen mode

early return
O que é o early return? É um conceito que consiste em interromper a execução do método assim que a condição for atendida

public string VerificarTemperaturaCorporalv3(double temperatura)
{
    if (temperatura >= 36 && temperatura <= 37.5) return "Normal";

    if (temperatura >= 37.6 && temperatura <= 39.5) return "Febre";

    if (temperatura >= 39.6 && temperatura < 41) return "Febre alta";

    if (temperatura >= 41) return "Hipertemia";

    return "Hipotermia";
}
Enter fullscreen mode Exit fullscreen mode

Claro que existem outras formas de melhorarmos esses códigos, me diga, como você faria para tornar ele ainda melhor?


Até a próxima! 👊
☕😊 Agora você pode apoiar comprando um café para mim

. . . . . . . . . . . . .
Terabox Video Player