Números simplesmente jogados no código são óbvios apenas para quem cria e normalmente só naquele momento. Então, quando um número for utilizado e não for óbvio o seu significado, é aconselhável utilizar constantes com nomes mais claros.

 

Entretando, não deve-se criar constantes para expressões complexas. Isto tornará o código muito difícil de compreender e poderá causar erros primários, pois pode-se imaginar que uma atribuição é efetuada a uma variável quando na verdade há toda uma expressão disfarçada:

 

Exemplo:

#DEFINE NUMLINES  aPrintDefs[1]

#DEFINE NUMPAGES  aPrintDefs[2]

#DEFINE ISDISK    aReturn[5]

 

If ISDISK == 1

      NUMLINES := 55

Endif

 

NUMPAGES += 1

 

A impressão que se tem após uma leitura deste código é de que valores estão sendo atribuidos às variáveis ou que constantes estão sendo utilizadas. Se o objetivo é flexibilidade, o código anterior deve ser substituído por:

 

#DEFINE NUMLINES    1

#DEFINE NUMPAGES    2

#DEFNE ISDISK     5

 

If aReturn[ISDISK] == 1

      aPrintDefs[ NUMLINES ] := 55

Endif

 

aPrintDefs[ NUMPAGES ] += 1

  • Sem rótulos