


So ermutigen Sie Entwickler, Python-Warnungen für veraltete Funktionen zu beheben
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 =======================
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" ]
- 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!

SlicingPapythonListisDoneUsingthesyntaxlist [Start: Stop: Stufe] .here'Showitworks: 1) StartIndexoFtheFirstelementtoinclude.2) stopiStheIndexoFtheFirstelementtoexclude.3) StepisTheincrementBetweenelesfulFulForForforexcractioningPorporionsporporionsPorporionsporporesporsporsporsporsporsporsporsporsporionsporsPorsPorsPorsPorsporsporsporsporsporsporsAntionsporsporesporesporesporsPorsPorsporsPorsPorsporsporspors,

Numpyallowsforvariousoperationssonarrays: 1) BasicarithmeticliKeaddition, Subtraktion, Multiplikation und Division; 2) AdvancedoperationssuchasmatrixMultiplication;

Arraysinpython, insbesondere ThroughNumpyandpandas, areessentialfordataanalyse, öfterspeedandeffizienz.1) numpyarraysenableAnalysHandlingoflargedatasets und CompompexoperationslikemovingAverages.2) Pandasextendsnumpy'ScapaBilitiesWithDaTataforsForstruc

ListsandNumPyarraysinPythonhavedifferentmemoryfootprints:listsaremoreflexiblebutlessmemory-efficient,whileNumPyarraysareoptimizedfornumericaldata.1)Listsstorereferencestoobjects,withoverheadaround64byteson64-bitsystems.2)NumPyarraysstoredatacontiguou

TensurepythonscriptsBehavectelyAcrossdevelopment, Staging und Produktion, UsethesStrategien: 1) Umweltvariablenforsimplesettings, 2) configurationFilesForComplexSetups und 3) dynamikloadingForAdaptability.eachMethodofferiqueNefits und Requiresca

Die grundlegende Syntax für die Python -Liste ist die Liste [START: STOP: STEP]. 1.Start ist der erste Elementindex, 2.Stop ist der erste Elementindex, und 3.Step bestimmt die Schrittgröße zwischen den Elementen. Scheiben werden nicht nur zum Extrahieren von Daten verwendet, sondern auch zum Ändern und Umkehrlisten.

ListSoutPer -CharakterArraysin: 1) Dynamics und Dynamics und 3), 2) StoringHeterogenData und 3) MemoryefficiencyForSparsedata, ButmayHavesLightPerformanceCostIncustonTectorationOperationen.

Toconvertapythonarraytoalist, Usethelist () constructororageneratorexpression.1) ImportThearrayModuleandCreateanarray.2) Uselist (arr) oder [xForxinarr] Toconvertittoalist in Betracht, überlegt Performance undMoryefficiencyForlargedatasets.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

VSCode Windows 64-Bit-Download
Ein kostenloser und leistungsstarker IDE-Editor von Microsoft

Dreamweaver CS6
Visuelle Webentwicklungstools

Dreamweaver Mac
Visuelle Webentwicklungstools

SublimeText3 Linux neue Version
SublimeText3 Linux neueste Version
