Controle Estrutural: trocar comandos por funções
Enviado: 19 Abr 2010 01:24
oi pessoal, boa madrugada!
os comandos EXIT, LOOP, RETURN, possuem alguma função que os substitua?
porque estes não podem ser colocados dentro de CODEBLOCKS, funções IF( ) e em outros casos.
abuso de CODEBLOCKS e IFs( ) e esta restrição dos comandos me limita quando tenho muitas destas funções uma dentro das outras.
inclusive li em alguns livros, que embora o PC seja hoje a jato, na época que era à manivela, toda vez que pudesse ser implementado uma IF( ) no lugar de um IF;ELSE;ENDIF ou IF;ENDIF, otimizava-se o processamento. sempre me pareceu mais produtivo e flexível trocar...
é claro... aqui apenas um micro-trecho de código de 11 linhas em uma... mas isso nos meus PRGs é massivo.
caso exista funções substitutas para os dito-cujos (perdoem minha ignorância...) vai reduzir + de 25% de linhas dos meus PRGs, porque mantenho ainda algumas estruturas na forma comum por causa dos EXIT, LOOP, RETU...
é importante para mim, gosto de funções que simplificam e evitam muitas linhas de códigos na tela, e se posso transformar 100 linhas em 25, tô dentro!
eu gostaria também (opa, já to escrevendo muitas linhas...) de sugestões em termos de uso inteligente de estruturas que poupam código.
Valeu!
os comandos EXIT, LOOP, RETURN, possuem alguma função que os substitua?
porque estes não podem ser colocados dentro de CODEBLOCKS, funções IF( ) e em outros casos.
abuso de CODEBLOCKS e IFs( ) e esta restrição dos comandos me limita quando tenho muitas destas funções uma dentro das outras.
inclusive li em alguns livros, que embora o PC seja hoje a jato, na época que era à manivela, toda vez que pudesse ser implementado uma IF( ) no lugar de um IF;ELSE;ENDIF ou IF;ENDIF, otimizava-se o processamento. sempre me pareceu mais produtivo e flexível trocar...
Código: Selecionar todos
IF a # b
b:=exe_(a)
c:=dump(b)
IF c > b
@ 12,16 SAY "Processo abortado!" COLOR "w+/r"
//EXIT (...estamos dentro de um WHILE .T.) notem mais baixo que na IF( ) ficaria enviável
EndIF
Else
b:=dump(a)
exe_(b+a)
EndIF //por...
IF(a#b, (b:=exe_(a), c:=dump(b), IF( c > b, DispOutAT(12,16,"Processo abortado!", "w+/r"), )), (b:=dump(a), exe_(b+a)) ) caso exista funções substitutas para os dito-cujos (perdoem minha ignorância...) vai reduzir + de 25% de linhas dos meus PRGs, porque mantenho ainda algumas estruturas na forma comum por causa dos EXIT, LOOP, RETU...
é importante para mim, gosto de funções que simplificam e evitam muitas linhas de códigos na tela, e se posso transformar 100 linhas em 25, tô dentro!
eu gostaria também (opa, já to escrevendo muitas linhas...) de sugestões em termos de uso inteligente de estruturas que poupam código.
Valeu!