PEP 5 – Richtlinien für die Sprach evolution
- Autor:
- Paul Prescod <paul at prescod.net>
- Status:
- Abgelöst
- Typ:
- Prozess
- Erstellt:
- 26. Okt. 2000
- Post-History:
- Ersetzt-Durch:
- 387
Zusammenfassung
In der natürlichen Entwicklung von Programmiersprachen ist es manchmal notwendig, Änderungen vorzunehmen, die das Verhalten älterer Programme modifizieren. Dieses PEP schlägt eine Richtlinie für die Implementierung dieser Änderungen vor, die die installierte Basis der Python-Benutzer respektiert.
Implementierungsdetails
Die Implementierung dieses PEP erfordert die Hinzufügung einer formalen Warn- und Deprecation-Einrichtung, die in einem anderen Vorschlag beschrieben wird.
Umfang
Diese Richtlinien gelten für zukünftige Versionen von Python, die abwärts inkompatibles Verhalten einführen. Abwärts inkompatibles Verhalten ist eine wesentliche Abweichung in der Python-Interpretation von einem früheren Verhalten, das in der Standard-Python-Dokumentation beschrieben ist. Die Entfernung einer Funktion stellt ebenfalls eine Verhaltensänderung dar.
Dieses PEP ersetzt oder schließt andere Kompatibilitätsstrategien wie das dynamische Laden von abwärts kompatiblen Parsern nicht aus. Wenn andererseits die Ausführung von "altem Code" einen speziellen Schalter oder ein Pragma erfordert, dann ist dies aus Sicht des Benutzers tatsächlich eine Verhaltensänderung, und diese Änderung sollte gemäß diesen Richtlinien implementiert werden.
Im Allgemeinen muss bei der Umsetzung dieser Richtlinien der gesunde Menschenverstand siegen. Zum Beispiel stellt die Änderung von "sys.copyright" keine abwärts inkompatible Verhaltensänderung dar!
Schritte zur Einführung von abwärts inkompatiblen Funktionen
- Schlagen Sie abwärts inkompatibles Verhalten in einem PEP vor. Das PEP muss einen Abschnitt zur Abwärtskompatibilität enthalten, der detailliert einen Plan zur Erledigung der übrigen Schritte beschreibt.
- Sobald das PEP als produktive Richtung akzeptiert wurde, implementieren Sie eine alternative Möglichkeit, die Aufgabe zu erledigen, die zuvor von der entfernten oder geänderten Funktion bereitgestellt wurde. Wenn beispielsweise der Additionsoperator zur Entfernung ansteht, könnte eine neue Version von Python eine integrierte Funktion "add()" implementieren.
- Depizieren Sie den veralteten Konstrukt formell in der Python-Dokumentation.
- Fügen Sie dem Parser einen optionalen Warnmodus hinzu, der Benutzer informiert, wenn der depizierte Konstrukt verwendet wird. Mit anderen Worten, alle Programme, die sich in Zukunft anders verhalten, müssen in diesem Modus Warnungen auslösen. Kompilierungszeitwarnungen sind Laufzeitwarnungen vorzuziehen. Die Warnmeldungen sollten die Leute vom depizierten Konstrukt zum alternativen Konstrukt leiten.
- Zwischen der Veröffentlichung der Übergangsversion von Python und der Veröffentlichung der abwärts inkompatiblen Version muss eine Übergangsfrist von mindestens einem Jahr liegen. Die Benutzer haben mindestens ein Jahr Zeit, ihre Programme zu testen und sie von der Verwendung des depizierten Konstrukts auf das alternative umzustellen.
Quelle: https://github.com/python/peps/blob/main/peps/pep-0005.rst
Zuletzt geändert: 2025-02-01 08:55:40 GMT