samedi 13 septembre 2008

Des espaces à la fin des noms. Version Windows et Linux

Bonjour,

Est-ce que vous savez que les règles du nommage des fichiers sont très dépendantes du système d’exploitation. Voilà un exemple qui m’a coûté quelques jours d’investigation pour un projet sur lequel je travaille.

Sous Windows le nom du fichier ne peut pas contenir des espaces à la fin! Pour Windows les fichies :
1. ‘toto.txt’
2. ‘toto.txt ’ (un espace à la fin)
3. ‘toto.txt ‘ (deux espaces à la fin)
sont identiques et seront représentez par UN SEUL fichier sur votre disque ! Windows va tronquer les espaces à la fin.

Dans les OS comme Linux RedHat ce n’est pas le cas. Pour ce système, ces trois fichiers sont les fichiers différents. Donc, pour Linux l’espace à la fin du nom de fichier est tout à fait légitime.

Cette différence subtile m’a coûté 2 jours pour réussir à reproduire une anomalie. Vu que notre plateforme de développement est sous Windows et les serveurs de production sont sous Linux, je ne pouvais pas avoir le même comportement de l'application que nos clients.

Conclusion. La reproduction des anomalies, les tests de régression, les tests unitaires doivent être exécutés dans l’environnement le plus proche possible de votre environnement de production. C’est une règle de-facto de développement que je n’ai pas respecté. Mais, l’anomalie est reproduite et sera corrigé et moi, j’ai appris quelque-chose de nouveau et c’est ça qui compte !

Aucun commentaire: