J'ai récemment rencontré une bibliothèque Python sur GitHub. La bibliothèque est géniale, mais contient une faute de frappe flagrante dans un nom de fonction. Appelons cela dummy_fuction()
alors qu'il devrait l'être dummy_function()
. Cette fonction est définitivement "à l'état sauvage" et très probablement utilisée dans les systèmes embarqués.
La première chose qui me vient à l'esprit est d'ajouter une deuxième version de la fonction avec le nom correct et d'ajouter un avertissement de dépréciation à la première version pour la prochaine version.
Trois questions:
- L'approche ci-dessus pourrait-elle avoir des conséquences imprévues?
- Existe-t-il une approche standard pour ce type de problème?
- Pendant combien de temps un avertissement de dépréciation doit-il être laissé en place?
python
version-control
coding-standards
deprecation
Jamie Bull
la source
la source
http_referer
- "C'est comme quand j'ai fait le champ référent. Je n'ai eu que du chagrin pour mon choix d'orthographe. J'essaie maintenant de corriger l'orthographe dans l'OED car mon orthographe est utilisée plusieurs milliards de fois par minute de plus que la leur. " - Phillip Hallam-BakerRéponses:
Tout d'abord, la politique dépend du mainteneur.
Je pense que votre question est intéressante, mais surtout basée sur l'opinion.
À mon avis, votre approche est bonne - renommez la fonction et laissez la version mal orthographiée comme un artefact obsolète, redirigeant vers la bonne.
Cela pourrait casser le code par exemple. si quelqu'un ne pouvait pas supporter la faute d'orthographe non plus et implémentait une version renommée de la leur. Maintenant, il y aura un conflit de noms une fois qu'ils auront mis à jour la bibliothèque.
Ne faites pas de fautes d'orthographe lors de l'écriture d'une bibliothèque;)
Je pense que la dépréciation devrait être laissée en place jusqu'à la prochaine version majeure (lorsque le premier chiffre du numéro de version est augmenté).
C'est à ce moment-là qu'une rupture de compatibilité descendante - justifiée - est tolérable, et il appartient aux utilisateurs de la bibliothèque de s'assurer que leur code fonctionne toujours correctement.
Assurez-vous simplement de le signaler dans le journal des modifications: les gars, si vous l'avez utilisé
dummy_fuction
, remplacez-le pardummy_function
partout et vous êtes prêt à partir.Si la bibliothèque n'est pas versionnée, comme cela pourrait l'être - il est judicieux de commencer à la versionner.
la source