Puhastage oma koodibaas selle hõlpsasti kasutatava käsureatööriistaga.

Lingimistööriist on väärtuslik ressurss, mis aitab tuvastada koodi vigu ja ebakõlasid.

Flake8 on Pythoni jaoks üks populaarsemaid linastustööriistu. See tuvastab teie koodi süntaksi- ja vormindusvead ning muud probleemid, nagu kasutamata impordid. See on väga paindlik, sest kuigi sellel on vaikereeglid, saate neid vastavalt oma vajadustele muuta või lisada.

Samuti saate konfigureerida Flake8 töötama, kui salvestate oma koodi värskendused VS-koodi abil. Kõik need funktsioonid muudavad selle Pythoni programmide kirjutamisel väärtuslikuks tööriistaks.

Flake8 installimine

Flake8 installimiseks oma arenduskeskkonda järgige alltoodud samme. Teil võib tekkida vajadus installige oma masinasse Pip esiteks.

  1. Flake8 installimiseks käivitage oma terminalis allolev käsk:
    pip install flake8
  2. Kontrollige, kas Flake8 on installitud, käivitades järgmise käsu:
    flake8 --versioon
  3. Kui Flake8 on õigesti installitud, peaksite nägema järgmisega sarnast väljundit:
    instagram viewer
    4.0.1 (mccabe: 0.6.1, pükoodistiil: 2.8.0, pühelbed: 2.4.0) CPython 3.9.13peal
    Linux

Kui olete Flake8 edukalt installinud, võite seda kasutama hakata.

Flake8 kasutamine Pythoni koodi analüüsimiseks

Et mõista, kuidas Flake8 kasutada, alustage järgmise koodiga. Sellel on paar tahtlikku viga. Kopeerige see faili nimega tervitus.py.

deftervitus(nimi):
print("Tere, " + nimi)

tervitus ("Alice")
 tervitus ("Bob")

Flake8 käivitamine ühes failis

Flake8 käivitamise süntaks ühes failis on järgmine.

flake8 path/to/file.py

Selles näites liikuge kataloogi, mis sisaldab faili greting.py, ja käivitage järgmine käsk.

flake8 tervitus.py

Flake8 peaks tagastama järgmise teate, mis näitab taande viga.

tervitus.py:5:1: E999Taandeviga: ootamatutaane

See väljund näitab, et rida 5 on tarbetult taandatud. To parandage see taande viga, peate selle rea algusest tühimiku eemaldama.

deftervitus(nimi):
print("Tere, " + nimi)

tervitus ("Alice")
tervitus ("Bob")

Nüüd, kui käivitate Flake8, saate järgmised hoiatused.

tervitus.py:4:1: E305oodatud 2 tühireadpärastklassvõifunktsioonimääratlus, leitud 1
tervitus.py:5:16: W292eiuus ridajuureslõppkohtafaili

See väljund näitab järgmisi probleeme:

  • 4. real peaks pärast tervitusfunktsiooni määratlust olema kaks tühja rida, kuid neid on ainult üks.
  • 5. real peaks faili lõpus olema uus rida.

Kui olete need probleemid lahendanud, ei tohiks flake8 sõnumeid tagastada.

Seni oleme analüüsinud ainult ühte faili, kuid enamikul juhtudel soovite analüüsida mitut faili.

Flake8 käivitamine mitmel failil

Ütle, et sul on teine ​​kõne test_greeting.py mis sisaldab järgmist koodi:

alates tervitus importida tervitus
deftest_tervita():
väita tervitus ("Alice") == "Tere, Alice!"

Nende kahe faili analüüsimiseks käivitage järgmine käsk.

flake8 greeting.py test_greeting.py

See meetod töötab, kuid kui teil on rohkem kui kaks faili, võib failinimede väljatrükkimine olla väsitav ja tõrkeohtlik.

Kõigi praeguses kataloogis olevate failide analüüsimiseks on tõhusam kasutada järgmist käsku:

helves8 .

Flake8 vigade ja hoiatuste mõistmine

Flake8 teatab kahte tüüpi probleemidest:

  • Vead: tõrge viitab süntaksi- või struktuuriprobleemile, mis takistab teie koodi töötamist nagu greeting.py näites toodud taandrive.
  • Hoiatused. Hoiatus viitab võimalikule probleemile või PEP 8 stiilijuhiste rikkumisele, nagu näiteks greeting.py näites olev hoiatus „faili lõpus reavahetus puudub”.

Mõned levinumad vead ja hoiatused on järgmised:

  • E101: taane sisaldab segatud tühikuid ja tabeldusmärke.
  • E302: oodatakse 2 tühja rida, leitud 0.
  • E999 IndentationError: ootamatu taane.
  • W291: lõpus olev tühik.
  • E501: rida liiga pikk (maksimaalselt 79 tähemärki).
  • F401: moodul imporditud, kuid kasutamata.

Kui käivitate Flake8, väljastab see sõnumi, nagu ülal näidatud, ja rea ​​numbri ja koodi asukoha, millele sõnum viitab. See aitab teil täpselt teada, kus teie koodil on probleeme, mis säästab teie silumisaega.

Flake8 seadistamine

Mõne projekti puhul võivad Flake8 reeglid olla liiga jäigad. Sellistel juhtudel võimaldab Flake8 teil seda konfigureerida ja kohandada selle käitumist vastavalt teie vajadustele.

Saate pakkuda selliseid konfiguratsioonivalikuid nagu:

  • Konkreetsete vigade või hoiatuste ignoreerimine.
  • Rea maksimaalse pikkuse määramine.
  • Täiendavate reeglite täpsustamine.

Demonstreerimiseks looge konfiguratsioonifail nimega setup.cfg. Konfiguratsioonisuvandid saate lisada ka faili nimega tox.ini või .flake8.

Alustage selles failis jaotise flake8 loomisest järgmiselt:

[flake8]

Seejärel lisage valikud, mida soovite konfigureerida:

[flake8]
maksimaalne rea pikkus = 100
ignoreeri = F401

Selles näites annab max-line-length = 100 käsu Flake8-le hoiatusi anda lähtekoodifailide mis tahes rea kohta, mis on üle 100 tähemärgi. ignore = F401 käsib Flake8-l ignoreerida kasutamata impordiga seotud vigu.

Te ei pea neid suvandeid konfiguratsioonifaili lisama, kuna saate neid käsureal määrata järgmiselt:

flake8 -- ignoreeri E203 --rea maksimaalne pikkus 100

Konfiguratsioonifaili kasutamine on parim viis, kuna te ei pea iga kord flake8 kasutamisel samu valikuid määrama.

Flake8 kasutamine VS-koodis

Kui kasutate Pythoni rakenduse kirjutamiseks VS-koodi, saate Pythoni failide teksti sisestamise ajal linastamiseks kasutada laiendit flake8.

Esiteks peate installima VS Code turult laienduse flake8. Järgmisena avage selle konfigureerimiseks VS-koodi sätted, seejärel otsige "python.linting.flake8Enabled" ja lubage linting koos flake8-ga.

Nüüd peaksite nägema tõrked ja hoiatused oma koodis selle kirjutamise ajal vildaka joonega esile tõstetud. Hõljutades kursorit esiletõstetud teksti kohal, kuvatakse teade, mis selgitab probleemi ja soovitab võimalikke lahendusi.

muud Pythoni IDE-d Näiteks Pycharmil on ka Flake8 laiendused, mida saate konfigureerida, et lihtsustada eostamist.

Miks peaksite Linterit kasutama?

Koodi kirjutamisel võite põhjustada vigu ja ebakõlasid, mis põhjustavad teie rakenduse tõrkeid või jõudlusprobleeme. Linter nagu Flake8 võimaldab teil mõnda neist probleemidest ette tabada, aidates teil kirjutada puhtamat koodi. Selle integreerimine oma arendustöövoogu on väga oluline.

Seda saate teha, kasutades seda oma tekstiredaktoris või IDE-s ja integreerides selle oma pidevasse integreerimiskonveier, et enne koodi ühendamist oma koodiga automaatselt kontrollida vigade ja hoiatuste suhtes põhiharu.