Sollte ich __future__ Anweisungen zu jeder Datei in meinem Projekt hinzufügen?

8

Ich spende Code für ein derzeit nur Python 2-Projekt, damit es auf Python 3 ausgeführt werden kann. Sollte ich den folgenden Import durchführen:

%Vor%

Für jede Datei des Projekts oder nur die, die ich für jede Datei brauche?

    
m45t3r 29.03.2014, 15:09
quelle

1 Antwort

3

Soweit ich weiß, gibt es keine ausdrückliche Konvention darüber, aber ich würde geneigt sein, alle in jeder Datei hinzuzufügen.

Sie wissen vielleicht, welche __future__ -Features Sie jetzt verwenden , aber was ist, wenn die Datei in Zukunft geändert wird und plötzlich eine andere Funktion benötigt oder keine bestimmte Funktion mehr benötigt?

  • Wenn Sie alle in jede Datei schreiben, wissen Sie bereits, dass Sie alles in "python3 style" schreiben können und sicher sein können, dass keine seltsamen Fehler / Fehler auftreten. Es gibt kein Problem, wenn eine bestimmte Funktion nicht verwendet wird.
  • Wenn du das nicht tust, gibt es eine Chance, dass du:
    • Vergessen Sie nicht, den Import für das Feature hinzuzufügen, obwohl Sie wissen, dass es erforderlich ist.
    • Erinnere dich nicht daran, dass du tatsächlich eine neue Funktion brauchst, weil du daran gewöhnt bist und nicht immer daran denkst, dass es eine python3-Funktion ist
    • Vergessen Sie, einen nicht verwendeten Feature-Import zu entfernen. Beachten Sie, dass dies normalerweise eine Überprüfung der gesamten Datei erfordert, um sicherzustellen, dass Sie keine Funktion benötigen.

Wenn Sie alle Importe einfügen, können Sie immer python3-ähnlichen Code schreiben, was bedeutet, dass Sie nicht genau im Kopf behalten müssen, welche Funktionen in einer bestimmten Datei ein- / ausgeschaltet sind. Du schreibst einfach python3.

Andererseits müssen Sie bei der Auswahl der zu importierenden Features abhängig von den Funktionen, die in der Datei aktiv sind, festlegen, wie Sie pro Datei codieren.

Ein weiterer Grund, die erste Lösung zu bevorzugen, ist, dass IDEs in der Regel eine Möglichkeit bieten, die Vorlage für neue Dateien zu spezifizieren, was bedeutet, dass Sie nicht einmal alle Importe selbst hinzufügen müssen du.

Es gibt nur einen Haken bei dieser Argumentation: Das Hinzufügen der Importe unterbricht den Code nicht. Dies ist natürlich nicht garantiert. Allerdings sollten Sie die Änderungen, die Sie vornehmen müssten, bereits tun, um die Software für python3 zu portieren, sodass die Zeit für die Portierung der Software nicht erhöht werden sollte.

    
Bakuriu 29.03.2014, 16:55
quelle

Tags und Links