


Notre code est tellement interdépendant ! L'ajout de dépendances aux projets est la manière dont le code est réalisé.
Chaque fois que quelqu'un éternue, une nouvelle dépendance est ajoutée à un projet quelque part.
C'est plutôt génial que nous soyons de ce côté-ci du débat sur le droit d'auteur, où la valeur par défaut est de construire des choses sur le travail d'autres personnes, et de ne pas tirer sur tout le monde, qui ose même regarder dans la direction de mon code. . Mais... qui va mettre à jour toutes ces dépendances à tout moment ?
Dans un monde parfait, nous sommes une communauté et nous gardons tous les bibliothèques mises à jour vers les dernières versions, n'est-ce pas ?
Faux ! Les développeurs doivent être doucement poussés à faire la bonne chose. Oui, doucement, pour qu'ils ne remarquent pas qu'ils sont poussés ????.
Étape 1 : Nous devons d'abord écouter les avertissements de dépréciation
Nous utilisons pytest, cette étape est donc simple pour nous.
À partir de la version 3.1, pytest détecte désormais automatiquement les avertissements lors de l'exécution du test et les affiche à la fin de la session :
- Pytest : Comment capturer les avertissements
aime ça :
============================= 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 =======================
Étape 2 : Choisissez les avertissements dont vous souhaitez vous débarrasser
J'ai vu l'avertissement de guimauve, j'ai regardé le code et j'ai vu qu'il s'agissait d'une solution simple.
Donc, je choisis RemovedInMarshammlow4Warning.
Étape 3 : Faire en sorte que les avertissements de dépréciation échouent aux tests
Encore une fois, nous utilisons pytest, donc cette étape est également simple pour nous.
Ajoutez simplement ceci au fichier de configuration :
[tool.pytest.ini_options] ... filterwarnings = [ "error::marshmallow.warnings.RemovedInMarshmallow4Warning" ]
- Pytest : Contrôler les avertissements
Désormais, tous les tests qui déclenchent cet avertissement de dépréciation échoueront.
Étape 4 : Corrigez le code
Malheureusement, vous devez en prendre un pour l'équipe ici. Vous devez aller réparer tous les endroits où cet avertissement se déclenche.
Je sais... c'est injuste.
C'est beaucoup de travail, c'est un travail fastidieux et vous ne pourrez même pas vous en vanter auprès de votre patron, car c'est trop technique et généralement perçu comme hors de propos de son point de vue.
Et tout ce que cela fait, c'est aider la prochaine personne (qui ne sera pas vous), qui mettra à niveau Marshmallow et rien dans le code ne sera cassé. Donc, ils ne vous remercieront pas non plus, car ils ne remarqueront même pas que quelque chose a été fait.
Donc, ... ce que je dis, c'est : parfois, il faut faire la bonne chose, et personne ne vous en remerciera.
Mais je le saurai. Et vous le saurez. ?
Étape 5 : Détendez-vous et écoutez les conversations Slack et les commentaires GitHub
Finalement, il devrait y avoir un message quelque part indiquant que quelqu'un est confus : ils ont écrit le même code que la dernière fois, mais cette fois, les tests échouent, que se passe-t-il ?
Et vous pouvez dire : "oh, difficile à dire, mais je vois que c'est une fonctionnalité obsolète, ça doit être la raison". ?
Liens externes
- Pytest : Comment capturer les avertissements
- Python : Le filtre des avertissements
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

SlitingyPapyThonListIsDoneUsingTheSyntaxList [Démarrage: arrêt: étape] .He'showitworks: 1) startisheindexofthefirStelementoinclude.2) stopisTheIndexoftheFirstelementsoexclude.3) StepistheincrementBetweenselans.it'susefulfactingPortationSoListShsandCanusegeg

NumpyAllowsForvariousOperations ONARRAYS: 1) BasicarithmeticLikeaddition, Soustraction, Multiplication, anddivision; 2) AdvancedOperationSuchasmatrixMultiplication; 3) Element-Wiseoperations withoutExplicitloop

ArraySinpython, en particulier ThroughNumpyandPandas, aressentialfordataanalysis, offingspeeedAfficiency.1) numpyarrayablefficienthandlingoflargedatasetsandComplexOperationsLikEMoVingAverages.2)

ListsandNumpyArraysInpythonHaveDidifferentMemoryfootprints: listsaRemoreFlexibles Butlessmemory économe, tandis que la liste de résensés est-ce qui

ToenSurepythonscriptsBeHavecorrectlyAcrossDevelopment, mise en scène et production, catégories de type: 1) EnvironmentVariblesForsImplesettings, 2) ConfigurationFilesForComplexsetups et3) dynamicloadingforadaptability.eachMethodoffersNebeneFitsAndreCeresca

La syntaxe de base pour le découpage de la liste Python est la liste [Démarrage: arrêt: étape]. 1.Start est le premier index d'élément inclus, 2.STOP est le premier indice d'élément exclu et 3.StEP détermine la taille de l'étape entre les éléments. Les tranches sont non seulement utilisées pour extraire les données, mais aussi pour modifier et inverser les listes.

ListesoutPerformarRaySin: 1) dynamicingizingandfrequentinSertions / Deletions, 2) StoringheteroGeneousData, and3) MemoryEfficiencyForsparsedata, butmayhaveslightperformanceCostSincertorations.

Toconvertapythonarraytoalist, usethelist () Constructororageneratorexpression.1) ImportTheArrayModuleandCreateArray.2) Uselist (Arr) ou [Xforxinarr] à Convertittoalist, considérant la performance et le domaine de l'émie-efficacité pour les étages.


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

VSCode Windows 64 bits Télécharger
Un éditeur IDE gratuit et puissant lancé par Microsoft

Dreamweaver CS6
Outils de développement Web visuel

Dreamweaver Mac
Outils de développement Web visuel

SublimeText3 Linux nouvelle version
Dernière version de SublimeText3 Linux
