De la bonne utilisation des constantes

27/02/2013 10:38

En langage C les directives #define permettent de donner des valeurs à des mots et ensuite d'utiliser ces mots dans le code à la place de ces valeurs.

 

Par exemple : #define _RATIO_EURO_FRANC = 6.55957, #define _PERSONNE_MADAME = 2,  etc...

 

Cette utilisation des #define permet d'obtenir un code plus clair et aussi de pouvoir modifier les valeurs à un seul endroit. Par exemple si un jour on décide que _PERSONNE_MADAME = 3, il suffit de modifier cette ligne de déclaration et de tout recompiler.

 

Cette utilisation de directives #define est transposable en langage WinDev, tout du moins sous une forme simulée (en C c'est transformé à la pré-compilation) : on utilise les constantes.

 

Code sans constantes

 

Voici un morceau de code Windev permettant d'écrire dans un fichier. Il y a trois type différents d'écriture :

On teste les valeurs 1, 2 et 3 ce qui n'est pas du tout parlant. On est d'ailleurs souvent obligé d'ajouter des commentaires afin de s'y retrouver. Et puis le jour où l'on intercalle un type entre 2 et 3 par exemple, il faut tout reprendre !

 

Code avec utilisation des constantes

 

Il faut bien entendu déclarer les valeurs de ces constantes. Je préconise l'utilisation d'une collection de procédures dédiée à ces constantes (Il est également possible de les déclarer à même les classes si on utilise la POO).

Voici le code modifié avec utilisation des constantes. Remarquez qu'on peut se passer de commentaires si on utilise des termes clairs et précis.

 

NOTE : N'hésitez pas à faire des mots à rallonge, les plus précis et les plus explicites possibles.

Par exemple : _FICHIER_AVEC_TAB_ET_RC_DESTINE_AU_COMPTABLE.