Eliminação de código morto.
Código morto é todo trecho que nunca vai ser executado, trechos em lugares impossíveis de serem alcançados. Alguns exemplos seguem abaixo.
Trecho após o retorno de uma função.
FUNCTION calcula RETURNS CHARACTER():
Def var a as char.
RETURN string(10 + 20). /* Function return value. */
Assign a = a + 1. /* Essa linha nunca vai ser executada*/
END FUNCTION.
Obviamente nessa função simples isso parece ridiculo. Mas em grandes funções isso pode ocorrer com certa freqüência. Por exemplo o comando return pode estar dentro de um bloco ou de um condicional if.
Trecho após uma condição impossível
&SCOPED-DEFINE dantas 0
DEFINE VARIABLE Valido AS LOGICAL NO-UNDO init no.
IF {&dantas} = 1 THEN
DO :
ASSIGN valido = YES. /* Esse trecho nunca vai ser executado */
END.
Normalmente não se espera que um programador escreve código morto, mas isso normalmente ocorre em manutenções de programas que tornam trechos antigos obsoletos.
Nenhum comentário:
Postar um comentário