Ich bin kürzlich auf eine Python-Bibliothek auf GitHub gestoßen. Die Bibliothek ist großartig, enthält jedoch einen eklatanten Tippfehler in einem Funktionsnamen. Nennen wir es so, wie dummy_fuction()
es sein sollte dummy_function()
. Diese Funktion ist definitiv "in the wild" und wird höchstwahrscheinlich in eingebetteten Systemen verwendet.
Das erste, was mir in den Sinn kommt, ist, eine zweite Version der Funktion mit dem richtigen Namen hinzuzufügen und der ersten Version für die nächste Version eine Verfallswarnung hinzuzufügen.
Drei Fragen:
- Könnte der obige Ansatz unbeabsichtigte Konsequenzen haben?
- Gibt es einen Standardansatz für diese Art von Problem?
- Wie lange sollte eine Verwerfungswarnung bestehen bleiben?
python
version-control
coding-standards
deprecation
Jamie Bull
quelle
quelle
http_referer
- "Es ist, als ob ich das Referer-Feld gemacht habe. Ich habe nichts als Kummer um meine Wahl der Rechtschreibung. Ich versuche jetzt, die Rechtschreibung in der OED zu korrigieren, da meine Rechtschreibung mehrere Milliarden Mal pro Minute mehr verwendet wird als ihre. " - Phillip Hallam-BakerAntworten:
In erster Linie hängt die Politik vom Betreuer ab.
Ich denke, Ihre Frage ist interessant, aber meistens meinungsbasiert.
Meiner persönlichen Meinung nach ist Ihr Ansatz solide - benennen Sie die Funktion um und lassen Sie die falsch geschriebene Version als veraltetes Artefakt und leiten Sie zur richtigen um.
Es könnte den Code brechen, z. wenn jemand die Rechtschreibfehler auch nicht ertragen und eine eigene umbenannte Version implementieren könnte. Jetzt kommt es zu einem Namenskonflikt, sobald die Bibliothek aktualisiert wurde.
Mach keine Rechtschreibfehler beim Schreiben einer Bibliothek;)
Ich bin der Meinung, dass die Verfallserklärung bis zur nächsten Hauptversion beibehalten werden sollte (wenn die erste Ziffer in der Versionsnummer erhöht wird).
Dies ist der Fall, wenn ein berechtigter Bruch der Abwärtskompatibilität tolerierbar ist und es den Bibliotheksbenutzern überlassen ist, sicherzustellen, dass ihr Code weiterhin einwandfrei erstellt wird.
Stellen Sie einfach sicher, dass Sie es im Changelog vermerken: Jungs, wenn Sie es benutzt haben
dummy_fuction
, ersetzen Sie es durchdummy_function
überall, und Sie können loslegen.Wenn die Bibliothek möglicherweise nicht versioniert ist, empfiehlt es sich, mit der Versionierung zu beginnen.
quelle