Mettons des valeurs en dur

Cet article suit de très prêt le précédent dans lequel un programme inexistant de mon système était exécuté au lieu de choisir le programme par défaut équivalent. C’est ce que l’on appelle mettre une valeur en dur dans le code. Une sorte de launch(« /bin/nautilus ») même si ce programme n’existe pas et que le filemanager du système est /bin/dolphin.

Je parcourais mes mails de maillist KDE, et sur celle de KDevelop je tombe sur un cas similaire qui m’a fait exclamé: « mais putain il faut être con pour ne pas avoir prévu ça dès le début et attendre que quelqu’un se plaigne ».

Il s’agit de la configuration d’un port TCP. Finalement, c’est un peu comme le cas du gestionnaire de fichier, quand on developpe en pensant qu’on est seul sur Terre, ou pire, en pensant que tout le monde est comme soi, on pense que tout le monde a son gestionnaire de fichier dans /bin/nautilus.

C’est pareil pour un port TCP, on croit que personne ne change sa valeur par défaut parce que le dev lui-même n’a jamais eu un jour besoin de changer la valeur par défaut. Du coup le petit dev il s’est dit qu’il allait mettre la valeur en dur dans le code.

C’est comme ça que l’on arrive à ce genre de patch, en particulier ce fichier (et debugsession.cpp):

- program << "-d xdebug.remote_port="+QString::number(9000);
+ program << "-d xdebug.remote_port="+QString::number(remotePortSetting);

Ca fait froid dans le dos. Une personne a été bloqué à cause de cela par la fainéantise d’un développeur. Ce n’est pas comme si il fallait mettre en place tout un système de gestion de configuration/préférence puisque celui-ci existe déjà, il a suffit d’ajouter une nouvelle valeur dans ce fichier.

N’importe quel programme peut utiliser un port, alors penser qu’un port choisi sera libre chez tout le monde est complétement stupide. Surtout quand le port est un chiffre rond.

Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :