Objectifs des techniques

Le but de cette partie du livre est de présenter un certain nombre de techniques de base de programmation. Ces techniques font partie de la culture partagée par les programmeurs (voir section 1.2).

On peut globalement diviser les techniques de base en deux grandes catégories :

Les deux catégories ne sont pas entièrement orthogonales. Souvent, une méthode permettant de diminuer le temps de calcul simplifie simultanément le programme et améliore donc sa maintenabilité. Parfois c'est le contraire : afin d'obtenir la performance souhaitable, il est nécessaire de compliquer le programme.

Quand les deux objectifs sont en conflit, il est souvent difficile de décider s'il faut opter pour la maintenabilité ou pour la performance. Voici les règles à respecter dans ce cas :

  1. vérifier d'abord qu'il y a un conflit entre les deux objectifs. Beaucoup de programmeurs ont tendance à sous-estimer la capacité d'optimisation du compilateur ;
  2. vérifier si le code en question sera exécuté suffisamment souvent pour mériter une optimisation ;
  3. isoler le code optimisé derrière une interface propre (une fonction, une macro, etc) ;
  4. commenter le code s'il est difficile à comprendre.

Irene DURAND
2011-10-14