|
|
|
|
|
Dicas
|
|
Visual Basic (Miscelâneas)
|
|
|
Título da Dica: Utilizando Select Case para realizar Short Circuit
|
|
|
|
Postada em 1/9/2003 por Ð@®l@n
Short Circuit é o nome que se dá a avaliação parcial de uma expressão boleana.
Por exemplo :
6 > 5 OU 4>3
Usando Short Circuit essa expressão não precisaria ser avaliada por inteiro, pois ao descobrir que 6>5 ela já seria considerada verdadeira pois o operador utilizado é OU.
Com pequenas expressões isso não faz diferença, mas observe que cada parte da expressão poderia ser uma chamada de função que envolvesse até pesquisa em banco, assim sendo, poder evitar a avaliação de uma ou duas expressões pode ser bem vantajoso para performance.
O problema é que o VB não possui Short Circuit. Expressões utilizadas na instrução IF são avaliadas por inteiro, o que pode gerar problemas de performance.
Para resolver isso podemos criar o Short Circuit com uma utilização um pouco diferente da instrução Select Case. Veja :
' If x > 0 And y <= 0 And z = 0 Then DoIt Select Case False Case x > 0, y <= 0, z = 0 Case Else Call DoIt End Select
Esse exemplo simula um short circuit com AND. Busca-se um resultado False. Se for encontrado, o Select Case irá parar na primeira opção e nada será feito. Se a primeira expressão for False as duas seguintes não serão testadas (o Select case, por incrível que pareça, tem short circuit). Caso nenhuma seja False a operação poderá ser feita, gerando o efeito do short circuit.
Veja agora o Short Circuit com OR :
Select Case True Case x > 0, y <= 0, z = 0 Call DoIt End Select
Se uma das expressões for verdadeira ele já realiza a tarefa, não avaliando as outras.
Ao utilizar esse método deve-se organizar as expressões da esquerda para a direita em ordem da mais simples para a mais complexa, desta forma gerando melhor performance.
|
|
|
|
|