Il ne suffit pas que les auteurs de bibliothèques fassent des interfaces propres et pérennes. Il faut encore que ceux qui les utilisent ne fassent pas n’importe quoi.
J’ai eu le cas récemment d’un projet Python qui annonçait (dans la clause requires de son setup.py) dépendre de pyparsing==2.4.7.
J’ai vérifié : il n’y a rien dans le code qui justifie d’exiger cette version plutôt qu’une autre. Pas d’utilisation d’une fonctionnalité qui aurait été introduite avec cette version ou au contraire qui aurait été supprimé des versions suivantes. En fait, le code fonctionne très bien avec PyParsing-3.0.9 (j’ai essayé).
J’ai l’impression qu’au moment de lister ses dépendances, le développeur s’est dit « c’est quoi la version de PyParsing que j’ai sur ma machine ? 2.4.7 ? bon ben on va dépendre de la version 2.4.7 alors, avec celle-là je sais que ça marche... »
[^] # Re: Maintenance
Posté par gouttegd . En réponse au journal La cochonnerie en boite que sont les systèmes de dépendances. Évalué à 10.
Il ne suffit pas que les auteurs de bibliothèques fassent des interfaces propres et pérennes. Il faut encore que ceux qui les utilisent ne fassent pas n’importe quoi.
J’ai eu le cas récemment d’un projet Python qui annonçait (dans la clause
requiresde sonsetup.py) dépendre depyparsing==2.4.7.J’ai vérifié : il n’y a rien dans le code qui justifie d’exiger cette version plutôt qu’une autre. Pas d’utilisation d’une fonctionnalité qui aurait été introduite avec cette version ou au contraire qui aurait été supprimé des versions suivantes. En fait, le code fonctionne très bien avec PyParsing-3.0.9 (j’ai essayé).
J’ai l’impression qu’au moment de lister ses dépendances, le développeur s’est dit « c’est quoi la version de PyParsing que j’ai sur ma machine ? 2.4.7 ? bon ben on va dépendre de la version 2.4.7 alors, avec celle-là je sais que ça marche... »