suivant: Portées des identificateurs
monter: Règles de base de
précédent: Commentaires
  Table des matières
  Index
Abstractions et duplications
Une partie importante de la lisibilité du code concerne
l'abstraction. On peut définir l'abstraction comme étant
le fait de donner un nom d'un morceau de programme afin d'éviter
sa duplication dans le code.
Mais pourquoi faut-il éviter la duplication? Il y a plusieurs
raisons :
- Le lecteur du code n'a pas besoin de lire deux fois le même (ou
presque le même) code. Éviter la duplication est donc une
façon de faciliter la vie du lecteur;
- Lorsque le mainteneur a besoin de mettre à jour un morceau de code
dupliqué (par exemple parce qu'il a trouvé un défaut qu'il doit
corriger), il doit alors en trouver chaque occurrence, et la corriger.
Cela peut être une tâche assez difficile, car souvent il y a
des modifications mineures entre les occurrences, qui empêchent le
mainteneur d'utiliser des outils pour automatiser la recherche du morceau
de code dupliqué. Il
doit alors parcourir le programme entier manuellement afin de ne rater
aucune occurrence du code défectueux;
- la duplication fait augmenter la taille totale du code. Chaque
écran de code risque donc de contenir moins d'information. Il est
toujours préférable pour le lecteur de voir un maximum de code sur
chaque écran visible;
- la duplication nuit à la réutilisation du code. Il
est plus facile de réutiliser un morceau de code lorsqu'il est
présenté sous la forme d'une fonction ou d'une classe (une
abstraction).
Il y a plusieurs types d'abstractions :
- l'abstraction de contrôle (la création de fonctions et de
procédures),
- l'abstraction de type (la création de nouveaux types, souvent
sous la formes de classes),
- l'abstraction syntaxique (la création de macros).
C'est l'abstraction de contrôle qui sera la plus importante de ce
livre. Il s'agit de créer des fonctions nommées à chaque fois
qu'on a besoin d'une suite d'instructions particulière au moins deux
fois.
L'aspect le plus important d'une abstraction est qu'on lui donne un
nom.
suivant: Portées des identificateurs
monter: Règles de base de
précédent: Commentaires
  Table des matières
  Index