Heim > Backend-Entwicklung > Python-Tutorial > So ermutigen Sie Entwickler, Python-Warnungen für veraltete Funktionen zu beheben

So ermutigen Sie Entwickler, Python-Warnungen für veraltete Funktionen zu beheben

DDD
Freigeben: 2025-01-01 00:04:16
Original
649 Leute haben es durchsucht

How to encourage developers to fix Python warnings for deprecated features

Unser Code ist so voneinander abhängig! Das Hinzufügen von Abhängigkeiten zu Projekten ist die Art und Weise, wie Code erstellt wird.

Jedes Mal, wenn jemand niest, wird irgendwo eine neue Abhängigkeit zu einem Projekt hinzugefügt.

Es ist irgendwie toll, dass wir auf dieser Seite der Urheberrechtsdebatte stehen, wo es standardmäßig darum geht, Dinge auf der Arbeit anderer Leute aufzubauen und nicht auf jeden zu schießen, der es wagt, auch nur in die Richtung meines Codes zu schauen . Aber... wer wird all diese Abhängigkeiten ständig aktualisieren?

In der perfekten Welt sind wir eine Community und alle halten die Bibliotheken auf dem neuesten Stand, oder?

Falsch! Entwickler müssen sanft dazu gedrängt werden, das Richtige zu tun. Ja, leise, damit sie nicht merken, dass sie gedrängt werden ????.

Schritt 1: Zuerst müssen wir uns die Verfallswarnungen anhören

Wir verwenden Pytest, daher ist dieser Schritt für uns ein Kinderspiel.

Ab Version 3.1 fängt Pytest jetzt automatisch Warnungen während der Testausführung ab und zeigt sie am Ende der Sitzung an:

- Pytest: So erfassen Sie Warnungen

so:

============================= warnings summary =============================
test_bla_bla_bla.py::test_test
  .../some_file.py:65: PydanticDeprecatedSince20: `pydantic.config.Extra` 
    is deprecated, use literal values instead (e.g. `extra='allow'`). 
    Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide 
    at https://errors.pydantic.dev/2.9/migration/
      extra=Extra.allow,

  .../marshmallow/fields.py:1186: RemovedInMarshammlow4Warning: The 'default' argument
    to fields is deprecated. Use 'dump_default' instead.
      super().__init__(**kwargs)

======================= 1 passed, 2 warnings in 0.12s =======================
Nach dem Login kopieren

Schritt 2: Wählen Sie die Warnungen aus, die Sie entfernen möchten

Ich habe die Marshmallow-Warnung gesehen, mir den Code angesehen und festgestellt, dass es sich um eine einfache Lösung handelt.

Also wähle ich RemovedInMarshammlow4Warning.

Schritt 3: Sorgen Sie dafür, dass Verfallswarnungen die Tests nicht bestehen

Auch hier verwenden wir Pytest, daher ist dieser Schritt auch für uns ein Kinderspiel.

Fügen Sie dies einfach zur Konfigurationsdatei hinzu:

[tool.pytest.ini_options]
...
filterwarnings = [
    "error::marshmallow.warnings.RemovedInMarshmallow4Warning"
]
Nach dem Login kopieren

- Pytest: Warnungen kontrollieren

Jetzt schlägt jeder Test fehl, der diese Verfallswarnung auslöst.

Schritt 4: Korrigieren Sie den Code

Leider muss man hier für das Team einen nehmen. Sie müssen alle Stellen reparieren, an denen diese Warnung ausgelöst wird.

Ich weiß.. es ist unfair.

Es ist eine Menge Arbeit, es ist eine mühsame Arbeit und Sie werden nicht einmal in der Lage sein, vor Ihrem Chef damit zu prahlen, weil es zu technisch ist und von dessen Standpunkt allgemein als irrelevant angesehen wird.

Und alles, was dies bewirkt, ist, der nächsten Person (die nicht Sie sein wird) zu helfen, die Marshmallow aktualisiert, und nichts im Code wird kaputt gehen. Sie werden es Ihnen also auch nicht danken, weil sie nicht einmal merken, dass etwas getan wurde.

Also ... was ich sagen will ist: Manchmal muss man das Richtige tun, und niemand wird es einem danken.

Aber ich werde es wissen. Und du wirst es wissen. ?

Schritt 5: Lehnen Sie sich zurück und hören Sie sich Slack-Konvos und GitHub-Kommentare an

Irgendwann sollte es irgendwo eine Meldung geben, dass jemand verwirrt ist: Sie haben den Code genauso geschrieben wie beim letzten Mal, aber dieses Mal schlagen die Tests fehl, was ist los?

Und Sie können sagen: „Oh, schwer zu sagen, aber ich sehe, dass dies eine veraltete Funktion ist, das muss der Grund sein.“ ?

Externe Links

  • Pytest: So erfassen Sie Warnungen
  • Python: Der Warnungsfilter

Das obige ist der detaillierte Inhalt vonSo ermutigen Sie Entwickler, Python-Warnungen für veraltete Funktionen zu beheben. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage