Et bien à force d'avoir l'habitude de manipuler des détrompeurs, on ne les voit plus :-(

(Je me répète), un détrompeur vous évite de vous tromper, en développement c'est une sorte de garde fou,
un bout de code qui va s'assurer que les conditions initiales sont bien respectées avant de faire des traitements.

Ok un exemple (l'objectif n'est pas de faire un cours d'architecture, l'exemple est grossier pour facilité la compréhension) :

Imaginez que vous développiez une module d'une application qui met à jour les prix de tous les produits de votre site e-commerce.
L'application est simple :

  1. Suppression de toutes les prix de la base de données
  2. Insertion de tous les prix du fichier reçu.


Mais l'informatique aidant, un jour votre fichier sera corrompu si vous n'avez rien prévu : votre base de données ne contiendra que 10% des tarifs au lieu des 100%.

- Oui mais on ne fait plus de DELETE / INSERT : On fait de l'Update donc le détrompeur est déjà là !

- Ok, alors imaginez que vous recevez un "vieux" qui date de plusieurs mois ? Facile, le système amont crache, on restaure une machine à partir de la dernière sauvegarde full, puis on rajoute les sauvegardes différentiels etc...
et là manque de "chance", durant la sauvegarde votre "batch" vous envoie un fichier d'il y a 2 semaines.

=> Donc oui, c'est possible : Ne faites jamais confiance aux autres systèmes...


Les détrompeurs pourraient être :

  1. Ajout des dates et heures de début & fin d'autorisation de chargement du fichier des prix,
  2. Contrôle du nombre de ligne dans le fichier reçu et du nombre de ligne indiqué dans l'entête du fichier,
  3. Hachcoding du fichier,
  4. etc...


Généralement, un détrompeur ne vous prend pas beaucoup de temps à développer et en plus il vous permet d'éviter des heures d'analyses et corrections de problèmes sur votre environnement de production.