Il y a quelques jours, on me fournit un programme à utiliser. Il doit générer une série de fichiers à partir d'un, dont je lui indique l'emplacement. Après quelques manipulations, je remarque qu'un bug survient lorsque l'adresse dudit fichier suit une certaine syntaxe. Qu'à cela ne tienne : comme la plupart des programmes scientifiques pointus, celui-ci est libre. Je m'en vais donc télécharger les sources pour trouver le problème exact afin de le signaler au concepteur. J'ai donc pu découvrir :
– Que la longueur du
string
contenant l'adresse du fichier était codé en dur. Nous avons donc en haut du
main
un joli
#define BUFLEN 256
, qui est par ailleurs également la longueur de tous les autres
string
du code.
– Que l'adresse du fichier ne pouvait pas contenir d'espaces (je n'ai pas encore trouvé exactement la source du problème, mais je soupçonne une fonction
remove_extension
d'en être la cause).
Je vais bien entendu envoyer un e-mail à l'auteur, mais en attendant… PEBKAC.
Voilà deux jours que je travaille sur un code. La mission était pourtant simple : mettre une coupure qui sélectionne des résultats si une variable est inférieure à 1. Les résultats sont affichés sous forme d'histogramme, dans un fichier consultable à la fin de l'exécution (chaque exécution durant environ une heure).
Je mets donc un simple
if (variable < 1)
, et je lance le programme : pas de conséquence sur les résultats. Bon, la variable est un type
double
, et c'est un langage capricieux. On va lui faire plaisir, on met un 1. Toujours rien.
Je m'énerve un peu, je fais tout un tas de sorties console qui m'indiquent que la sélection fonctionne bien, je sais plus quoi faire, je relis plusieurs fois mon code.
Deux jours sont passés. Attends, je viens de passer mon fichier de sortie à « Nom_10 ». Se pourrait-il que… Non, quand même… Et bien si : par réflexe, je regardais toujours le dernier fichier de la liste… Alors que les fichiers étaient classés dans un ordre tel que « Nom_0 », « Nom_1 », « Nom_10 », « Nom_2 ». PEBKAC.