Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk menggalakkan pembangun membetulkan amaran Python untuk ciri yang tidak digunakan

Bagaimana untuk menggalakkan pembangun membetulkan amaran Python untuk ciri yang tidak digunakan

DDD
Lepaskan: 2025-01-01 00:04:16
asal
649 orang telah melayarinya

How to encourage developers to fix Python warnings for deprecated features

Kod kami sangat bergantung antara satu sama lain! Menambah kebergantungan pada projek ialah cara kod dilakukan.

Setiap kali seseorang bersin pergantungan baharu ditambahkan pada projek di suatu tempat.

Agak bagus bahawa kita berada di pihak ini dalam perdebatan hak cipta, di mana lalainya adalah membina perkara di atas kerja orang lain, dan tidak menembak ke arah semua orang, yang berani melihat ke arah kod saya . Tetapi... siapa yang akan menaik taraf semua kebergantungan ini sepanjang masa?

Dalam dunia yang sempurna, kita adalah komuniti dan kita semua memastikan lib dinaik taraf kepada versi terkini, bukan?

Salah! Devs perlu lembut didorong untuk melakukan perkara yang betul. Ya, dengan lembut, supaya mereka tidak perasan mereka sedang ditolak ????.

Langkah 1: Mula-mula kita perlu mendengar amaran penamatan

Kami menggunakan pytest, jadi langkah ini mudah untuk kami.

Bermula dari versi 3.1, pytest kini secara automatik menangkap amaran semasa pelaksanaan ujian dan memaparkannya pada akhir sesi:

- Pytest: Cara menangkap amaran

seperti ini:

============================= 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 =======================
Salin selepas log masuk

Langkah 2: Pilih amaran yang ingin anda buang

Saya melihat amaran marshmallow, melihat kod itu dan mendapati ia adalah penyelesaian yang mudah.

Jadi, saya memilih RemovedInMarshammlow4Warning.

Langkah 3: Buat amaran penamatan gagal dalam ujian

Sekali lagi, kami menggunakan pytest, jadi langkah ini juga mudah untuk kami.

Tambahkan ini pada fail konfigurasi:

[tool.pytest.ini_options]
...
filterwarnings = [
    "error::marshmallow.warnings.RemovedInMarshmallow4Warning"
]
Salin selepas log masuk

- Pytest: Mengawal amaran

Kini setiap ujian yang mencetuskan amaran penamatan ini akan gagal.

Langkah 4: Betulkan kod

Malangnya, anda perlu mengambil satu untuk pasukan di sini. Anda perlu pergi dan betulkan semua tempat di mana amaran ini dicetuskan.

Saya tahu.. tidak adil.

Ia adalah kerja yang banyak, ia adalah kerja yang membosankan dan anda tidak akan dapat menyombongkan diri kepada bos anda mengenainya, kerana ia terlalu teknikal dan secara umumnya dianggap tidak relevan dari sudut pandangan mereka.

Dan semua perkara ini membantu orang seterusnya (yang bukan anda), yang akan menaik taraf marshmallow dan tiada apa-apa dalam kod akan rosak. Jadi, mereka juga tidak akan berterima kasih kepada anda, kerana mereka tidak akan perasan apa-apa telah dilakukan.

Jadi, ... apa yang saya katakan ialah: kadangkala anda perlu melakukan perkara yang betul, dan tiada siapa yang akan berterima kasih kepada anda untuknya.

Tetapi saya akan tahu. Dan anda akan tahu. ?

Langkah 5: Bersandar dan dengar konvo Slack dan komen GitHub

Akhirnya, mesti ada satu mesej tentang seseorang yang keliru: mereka menulis kod yang sama seperti kali terakhir, tetapi kali ini, ujian gagal, apa yang berlaku?

Dan anda boleh berkata: "oh, sukar untuk dikatakan, tetapi saya nampak ini adalah ciri yang tidak digunakan, itu pasti sebabnya". ?

Pautan luar

  • Pytest: Cara menangkap amaran
  • Python: Penapis amaran

Atas ialah kandungan terperinci Bagaimana untuk menggalakkan pembangun membetulkan amaran Python untuk ciri yang tidak digunakan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan