1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

  2. Anuncie Aqui ! Entre em contato fdantas@4each.com.br

Melhoria de Performance - Comando IF

Discussão em 'Progress 4GL' iniciado por Lucimaralye, Fevereiro 3, 2009.

  1. Lucimaralye

    Lucimaralye Sem Pontuação

    O comando IF pode ser um dos piores comandos na hora de medir a performance de um programa. Em alguns casos, o comando pode ser trocado pelo CASE (que tem a limitação de servir apenas para comparações mais simples).
    Como nem sempre o comando CASE atende as necessidades do programa, podemos também alterar os comandos IF´s que estão em sequência no programa, por um encadeamento do comando, o que já pode ajudar na performance do programa.

    Segue abaixo alguns exemplos:

    Trocar:
    IF <condição 1> THEN DO:
    comandos...
    END.
    IF <condição 2> THEN DO:
    comandos...
    END.
    IF <condição 3> THEN DO:
    comandos...
    END.
    IF <condição 4> THEN DO:
    comandos...
    END.
    IF <condição 5> THEN DO:
    comandos...
    END.

    Por:
    IF <condição 1> THEN DO:
    comandos...
    END.
    ELSE
    IF <condição 2> THEN DO:
    comandos...
    END.
    ELSE
    IF <condição 3> THEN DO:
    comandos...
    END.
    ELSE
    IF <condição 4> THEN DO:
    comandos...
    END.
    ELSE
    IF <condição 5> THEN DO:
    comandos...
    END.

    Desta maneira, as condições 2,3,4 e 5 só serão executadas caso necessário, enquanto que no primeiro caso, todas as condições são executadas.

    Podemos também utilizar o comando CASE da seguinte maneira:

    Trocar:
    IF <condição 1> THEN DO:
    comandos...
    END.
    ELSE
    IF <condição 2> THEN DO:
    comandos...
    END.
    ELSE
    IF <condição 3> THEN DO:
    comandos...
    END.

    Por:
    CASE <variável e/ou campo>:
    WHEN <Valor 1> THEN DO:
    Comandos...
    END.
    WHEN <Valor 2> THEN DO:
    comando...
    END.
    WHEN <Valor 3> THEN DO:
    comando...
    END.
    END CASE.

Compartilhe esta Página