Amélioration d'un programme
Le programme puissance_de_2.c calcule
la nième puissance de deux. L'algorithme utilisé est le
suivant :
var i, p2:entier;
début
p2=1;
pour i allant de 1 à n faire
p2 = 2 * p2;
finpour;
fin
Même si l'algorithme fait varier i de 1 à n, l'usage du C veut que l'on
fasse varier les variables d'itérations de 0 à n-1.
$ puissance_de_2 3
8
La première
amélioration consiste à rajouter un message rappelant
l'usage de ce programme en cas de nombre de paramètres
inadéquats. Noter que le message n'est pas
affiché sur la sortie standard, mais sur la sortie erreur
standard, grâce à l'utilisation de la fonction fprintf.
$ puissance_de_2 3
8
$
puissance_de_2
Usage: puissance_de_2 <entier>
La seconde
amélioration est plus importante. Elle
consiste à découper le programme en fonctions, ce qui
améliore à la fois la lisibilité (les
opérations effectuées sont nommées), la
maintenabilité (il est plus facile de savoir où les
modifications doivent être faites) et la
réutilisabilité, en évitant la duplication de
code. L'utilisation de static
dans l'entête d'usage
sera précisé ultérieurement.
La factorisation de code est une
condition nécessaire à la lisibilité, la
maintenabilité et l'extensibilité. Attention à
l'usage du "copier/coller" !