Įvestas Python 2024 m.: gerai pritaikytas, tačiau naudojimo problemų išlieka

Praėjus dešimčiai metų nuo PEP 484 įvedimo, ištyrėme dabartinę Python tipo sistemos būklę ir kūrėjų naudojamus įrankius.

Šią vasarą „JetBrains“, „Meta“ ir „Microsoft“ bendradarbiavo, kad atliktų išsamią Python spausdinimo* būklės apklausą. Apklausa buvo siekiama suprasti, kaip atvirojo kodo bendruomenės kūrėjai naudoja tipo užuominas, su kokiais iššūkiais jie susiduria ir kokiais įrankiais jie pasitiki. Apklausoje dalyvavo daugiau nei 1000 žmonių, ir mes džiaugiamės galėdami pasidalinti išvadomis. Nepaisant teigiamų spausdinimo nuotaikų, gavome fantastiškų (net kartais šiek tiek kandžių) atsiliepimų apie šrifto sistemą. Pateiksime išvadų santrauką, įskaitant naudojimo statistiką, bendrą nuotaiką ir

, kurios gali pagerinti Python kūrėjo įrankius.

Bendros išvados

  • 88% respondentų „Visada“ arba „Dažnai“ naudoja tipus savo Python kode.
  • IDE įrankiai, dokumentacija ir klaidų gaudymas skatina dažną tipų pritaikymą apklausų atsakymuose,
  • Tipų tinkamumas naudoti ir gebėjimas išreikšti sudėtingus modelius vis dar yra iššūkiai, dėl kurių kai kurie kodai nepaisomi.
  • Įrankių delsa ir tipų trūkumas populiariose bibliotekose riboja tipų tikrintuvų efektyvumą.
  • Tipo patikros diegimo nenuoseklumas ir prastas dokumentacijos aptinkamumas sukelia trintį įtraukiant tipus į projektą ir ieškant pagalbos naudojant įrankius.

Apklausos metodika

Tikėtina, kad apklausa apie tipus pritrauks daug rašymo entuziastų, todėl nemanome, kad tai yra nešališkas ir reprezentatyvus visų bendruomenės narių požiūris. Mes padarėme viską, kad platintume kuo daugiau kūrėjų, ir siekėme lengvai suprantamų klausimų visiems įgūdžių lygiams. Sukūrėme klausimus, kurie parodytų kūrėjų profilius, įrankius ir bendrą požiūrį į įvestą Python. Be metrikos, norėjome suprasti dabartinę nuotaiką ir dėkojame už išsamius ir nuoširdžius atsiliepimus.

Kūrėjų grupės

Kaip bendrosios paskirties kalba, nenuostabu, kad Python tipai naudojami daugelyje sričių. Scenarijų kūrimas / automatizavimas, žiniatinklio kūrimas, duomenų analizė, AI / ML, devOps ir mokymas turėjo didelę atstovybę. Vienas stebinantis atradimas buvo vertė, kurią Python tipai demonstruoja už bendradarbiavimo aplinkos ribų. Nemaža dalis respondentų asmeniniuose projektuose naudoja Python tipus (66 % respondentų, kurie tik asmeniškai naudoja Python, naudoja tipus „Visada” arba „Dažnai”, palyginti su 78% tik „profesionalių” kūrėjų) ir be CI (29,6% respondentų nenaudoja CI neturi tipo tikrinimo, naudokite tipus „Visada“ arba „Dažnai“).

IDE ir tipo tikrintuvai

Kalbant apie kūrimo aplinkas, „Visual Studio“ (VS) kodas tapo populiariausiu pasirinkimu. Populiariausia IDE plius tipo tikrintuvo konfigūracija buvo „VS Code“ su „Mypy“, po to „PyCharm“ su „Mypy“. „Mypy“ išlieka populiariausiu tipo tikrintuvu, kurį naudoja 67% respondentų, o „Pyright“ – 38% (24% naudoja abu). „Emacs“ arba „NeoVIM“ taip pat turi didelę vartotojų bazę – 11 proc. Bendruomenės pirmenybė tiek IDE, tiek tipo tikrinimo įrankiams vis dar gana įvairi. Nors tai nėra statinis tipo tikrintuvas, 62 % kūrėjų naudoja Pydantic, o 14 % tik naudoti Pydantic, rodantį tipo sistemos naudojimą, apimantį vykdymo laiko naudojimo atvejus.

Ką žmonės mėgsta

Nepaisant iššūkių, kūrėjai vertina patobulintą automatinį užbaigimą ir patobulintą kodo aiškumą, kurį suteikia tipo užuominos. „Geresnis IDE palaikymas“ buvo naudingiausia funkcija (59 %), po to seka „Klaidų prevencija“ (49,8 %) ir „Dokumentacija“ (49,2 %). Jie vertina galimybę anksti pastebėti galimas klaidas ir kodo pertvarkymo paprastumą. Neprivalomas spausdinimo pobūdis leidžia palaipsniui priimti, o tai daugeliui yra naudinga.

Jis randa tikras klaidas. Tai dažnai nurodo dizaino trūkumus, kai spausdinti sunku arba neįmanoma.

Dažnos problemos, susijusios su tipo sistemos dokumentacija ir tinkamumu naudoti

Suteikėme kūrėjams galimybę teikti laisvos formos grįžtamąjį ryšį ir pastebėjome, kad nuolat kyla keletas problemų, susijusių su dabartinio tipo sistema. Dažniausiai susirūpinimą kelia dinaminių savybių išreiškimo tipo sistemos sudėtingumas (29 atsakymai), lėtas tipo tikrintuvų, tokių kaip Mypy, veikimas (22 atsakymai) ir skirtingų tipų tikrintuvų nenuoseklumas (21 atsakymas). Aiškumo trūkumas dokumentuose, ypač pažangių konstrukcijų atveju, taip pat buvo skausmingas taškas (10 atsakymų).

„Daugelyje bibliotekų nėra jokių tipų anotacijų, o tai trukdo analizuoti kodą ir gali sukelti vykdymo klaidų.

„Rynai, kuriuos kartais reikia peršokti, kad bent kiek teisingai išreikštų vykdymo laiko dinamines ypatybes, ir net tada jie dažnai nėra tinkamai padengti.

Kodėl kūrėjai nenaudoja tipų

Tarp respondentų 321 (29 %) kūrėjas nurodė šias priežastis, kodėl savo Python kode nenaudoja tipų. Pagrindinė tipų nenaudojimo priežastis yra „Nereikalaujama mano projektams“, kuri sudarė 11 % visų apklausos atsakymų. Įdomu tai, kad tarp 321 kūrėjo, kuris nurodė šią priežastį, dauguma (60 %) vis dar nurodė, kad naudoja tipus „Visada“ arba „Dažnai“. Tai 28 punktais mažiau nei bendras apklausos vidurkis, tačiau išlieka nemaža dalis.

Rekomendacijos Python kalbos prižiūrėtojams ir įrankių autoriams

Kūrėjai prašo geresnio standartizavimo ir nuoseklumo tarp įrankių. Dinaminių ir sudėtingų modelių palaikymo tobulinimas, taip pat vykdymo laiko tipo tikrinimo tobulinimas yra pagrindinės sritys, į kurias reikia mąstyti. Geresnis tipo tikrintuvo veikimas buvo dažna problema, kurią nurodė visų grupių kūrėjai. Be funkcijų ir našumo, Python dokumentacijos prieinamumas ir aptinkamumas buvo paminėtas daugybę kartų. Python 3 spausdinimo dokumentai buvo populiariausias būdas žmonėms sužinoti apie tipus arba gauti pagalbos sprendžiant problemas. Buvo nuolatinių atsiliepimų, kuriuose buvo prašoma geresnių dokumentų, ypač dėl išplėstinių spausdinimo funkcijų, kuriose yra pavyzdžių. „Nežinomumo trūkumas“ buvo antra pagal dydį priežastis (8% visų atsakymų), kodėl žmonės nenaudoja tipų. Yra galimybė pagerinti dokumentacijos aptinkamumą ir naudojimą.

Ačiū! Padarykime tai dar kartą!

Dėkojame visiems, kurie padėjo sukurti ir pasidalinti apklausa. Labai dėkojame visiems, kurie užpildė apklausą ir pateikė sąžiningus bei išsamius atsiliepimus. Gavome daugiau atsakymų nei tikėjomės! Džiugu matyti tiek daug bendruomenės įsitraukimo, ir tikimės, kad atsiliepimai bus įtraukti į diskusijas apie Python tipo tikrinimo ir įrankių ateitį.

Tikimės, kad 2025 m. vasarą dar kartą atliksime apklausą, kad pamatytume, kaip keičiasi nuotaikos ir augs įrankių pritaikymas. Turime keletą idėjų, kaip patobulinti kitų metų apklausą. Norime užtikrinti, kad būtų išgirsta daugybė bendruomenės nuomonių ir kad galėtume užfiksuoti žmonių, turinčių skirtingos patirties ir entuziazmo vesti tekstą, jausmus.

Ką norėtumėte matyti kitų metų apklausoje? Kaip Python tipo sistema gali tobulėti, kad atitiktų jūsų poreikius? Prisijunkite prie pokalbio diskursas. Taip pat galite patys tyrinėkite duomenis naudodami šį įrankį ir toliau komentuokite savo įžvalgomis.

*Pagal internetinę apklausą, kurioje dalyvavo 1 083 žmonės, platinami per X, LinkedIn, Reddit ir kitas socialinės žiniasklaidos platformas, skirtas Python kūrėjams. Tyrimą atliko „Meta“, „Microsoft“ ir „JetBrains“. Duomenys surinkti nuo 2024-07-29 iki 2024-10-08.

Source link

Draugai: - Marketingo paslaugos - Teisinės konsultacijos - Skaidrių skenavimas - Fotofilmų kūrimas - Karščiausios naujienos - Ultragarsinis tyrimas - Saulius Narbutas - Įvaizdžio kūrimas - Veidoskaita - Nuotekų valymo įrenginiai -  Padelio treniruotės - Pranešimai spaudai -