Päivitä koodikantasi tällä helppokäyttöisellä komentorivityökalulla.

Linting-työkalu on arvokas resurssi, jonka avulla voit havaita koodisi virheet ja epäjohdonmukaisuudet.

Flake8 on yksi Pythonin suosituimmista nukkaustyökaluista. Se tunnistaa koodisi syntaksi- ja muotoiluvirheet sekä muut ongelmat, kuten käyttämättömät tuonnit. Se on erittäin joustava, koska vaikka sillä on oletussääntöjä, voit muuttaa niitä tai lisätä niitä tarpeidesi mukaan.

Voit myös määrittää Flake8:n toimimaan, kun tallennat koodisi päivitykset VS-koodilla. Kaikki nämä ominaisuudet tekevät siitä arvokkaan työkalun Python-ohjelmia kirjoitettaessa.

Flake8:n asentaminen

Asenna Flake8 kehitysympäristöösi noudattamalla alla olevia ohjeita. Saatat tarvita asenna Pip koneellesi ensimmäinen.

  1. Asenna Flake8 suorittamalla alla oleva komento päätteessäsi:
    pip install flake8
  2. Varmista, että Flake8 on asennettu suorittamalla seuraava komento:
    flake8 --versio
  3. Jos Flake8 on asennettu oikein, sinun pitäisi nähdä seuraavanlainen tulos:
    4.0.1 (mccabe: 0.6.1, pycodestyle: 2.8.0, pyhiutaleita: 2.4.0) CPython 3.9.13päällä
    Linux
instagram viewer

Kun olet asentanut Flake8:n onnistuneesti, voit aloittaa sen käytön.

Flake8:n käyttäminen Python-koodin analysointiin

Ymmärtääksesi Flake8:n käytön, aloita seuraavalla koodilla. Siinä on pari tahallista virhettä. Kopioi se tiedostoon nimeltä tervehdys.py.

deftervehdys(nimi):
Tulosta("Hei, " + nimi)

tervehdys("Liisa")
 tervehdys("Bob")

Flake8:n suorittaminen yhdessä tiedostossa

Syntaksi Flake8:n suorittamiselle yhdessä tiedostossa on seuraava.

flake8 polku/to/file.py

Siirry tässä esimerkissä hakemistoon, joka sisältää greting.py-tiedoston, ja suorita seuraava komento.

flake8 tervehdys.py

Flake8 palauttaa seuraavan viestin, joka osoittaa, että sisennysvirhe.

tervehdys.py:5:1: E999Sisennysvirhe: odottamatontasisennys

Tämä tulos osoittaa, että rivi 5 on tarpeettomasti sisennetty. Vastaanottaja korjaa tämä sisennysvirhe, sinun on poistettava välilyönti tämän rivin alusta.

deftervehdys(nimi):
Tulosta("Hei, " + nimi)

tervehdys("Liisa")
tervehdys("Bob")

Nyt kun suoritat Flake8:n, saat seuraavat varoitukset.

tervehdys.py:4:1: E305odotettavissa 2 tyhjärivitjälkeenluokkaataitoimintomääritelmä, löytyi 1
tervehdys.py:5:16: W292eiuusi rivikloloppu/tiedosto

Tämä tulos osoittaa seuraavat ongelmat:

  • Rivillä 4 tervehdysfunktiomääritelmän jälkeen pitäisi olla kaksi tyhjää riviä, mutta niitä on vain yksi.
  • Rivillä 5 tiedoston lopussa pitäisi olla uusi rivi.

Kun olet korjannut nämä ongelmat, flake8 ei palauta viestejä.

Toistaiseksi olemme analysoineet vain yhden tiedoston, mutta useimmissa tapauksissa haluat analysoida useita tiedostoja.

Flake8:n käyttäminen useissa tiedostoissa

Sano, että sinulla on toinen soitto test_greeting.py joka sisältää seuraavan koodin:

alkaen tervehdys tuonti tervehdys
deftesti_tervehdys():
väittää tervehdys("Liisa") == "Hei, Alice!"

Analysoidaksesi nämä kaksi tiedostoa, suorita seuraava komento.

flake8 greeting.py test_greeting.py

Tämä menetelmä toimii, mutta jos sinulla on enemmän kuin kaksi tiedostoa, tiedostonimien kirjoittaminen voi olla väsyttävää ja virhealtista.

On tehokkaampaa käyttää seuraavaa komentoa kaikkien nykyisen hakemiston tiedostojen analysoimiseen:

hiutale8.

Flake8-virheiden ja varoitusten ymmärtäminen

Flake8 raportoi kahdentyyppisistä ongelmista:

  • Virheet: Virhe ilmaisee syntaksi- tai rakenneongelman, joka estää koodia toimimasta kuten greeting.py-esimerkin sisennysvirhe.
  • Varoitukset: Varoitus ilmaisee mahdollisen ongelman tai PEP 8 -tyylisääntöjen rikkomisen, kuten "ei rivinvaihtoa tiedoston lopussa" -varoituksen greeting.py-esimerkistä.

Joitakin yleisiä virheitä ja varoituksia ovat:

  • E101: sisennys sisältää sekalaisia ​​välilyöntejä ja sarkaimia.
  • E302: odotettiin 2 tyhjää riviä, löydetty 0.
  • E999 IndentationError: odottamaton sisennys.
  • W291: tyhjä välilyönti.
  • E501: liian pitkä rivi (enintään 79 merkkiä).
  • F401: moduuli tuotu, mutta käyttämätön.

Kun suoritat Flake8:n, se tulostaa yllä olevan kaltaisen viestin sekä rivinumeron ja koodin sijainnin, johon viesti viittaa. Tämä auttaa sinua selvittämään, missä koodissasi on ongelmia, mikä säästää virheenkorjausaikaa.

Flake8:n määrittäminen

Joissakin projekteissa Flake8:n säännöt voivat olla liian jäykkiä. Näissä tapauksissa Flake8 antaa sinun määrittää sen ja räätälöidä sen käyttäytymisen tarpeidesi mukaan.

Voit tarjota konfigurointivaihtoehtoja, kuten:

  • Tiettyjen virheiden tai varoitusten huomioiminen.
  • Viivan enimmäispituuden asettaminen.
  • Lisäsääntöjen määrittäminen.

Luo määritystiedosto nimeltä setup.cfg. Voit myös lisätä määritysasetukset tiedostoon, jonka nimi on tox.ini tai .flake8.

Aloita tässä tiedostossa luomalla flake8-osio seuraavasti:

[flake8]

Lisää sitten asetukset, jotka haluat määrittää:

[flake8]
linjan enimmäispituus = 100
ohittaa = F401

Tässä esimerkissä max-line-length = 100 käskee Flake8:a antamaan varoituksia lähdekooditiedostojesi riville, joka on yli 100 merkkiä pitkä. ignore = F401 käskee Flake8:aa ohittamaan käyttämättömiin tuontiin liittyvät virheet.

Sinun ei tarvitse lisätä näitä valintoja määritystiedostoon, koska voit määrittää ne komentorivillä seuraavasti:

flake8 --jätä huomioimatta E203 --linjan maksimipituus 100

Määritystiedoston käyttäminen on paras tapa, koska sinun ei tarvitse määrittää samoja vaihtoehtoja joka kerta, kun käytät flake8:aa.

Flake8:n käyttäminen VS-koodissa

Jos käytät Python-sovelluksen kirjoittamiseen VS-koodia, voit käyttää flake8-laajennusta Python-tiedostojen yhdistämiseen kirjoittaessasi.

Ensin sinun on asennettava flake8-laajennus VS Code -markkinapaikalta. Seuraavaksi määritä se avaamalla VS-koodin asetukset, etsi sitten "python.linting.flake8Enabled" ja ota linting käyttöön flake8:lla.

Sinun pitäisi nyt nähdä virheet ja varoitukset korostettuina koodissasi kiiltävällä rivillä kirjoittaessasi sitä. Vie hiiri korostetun tekstin päälle näyttää viestin, joka selittää ongelman ja ehdottaa mahdollisia korjauksia.

muu Python IDE: t kuten Pycharmissa on myös Flake8-laajennuksia, jotka voit määrittää yksinkertaistamaan nukkaamisprosessia.

Miksi sinun pitäisi käyttää linteriä?

Kun kirjoitat koodia, saatat aiheuttaa virheitä ja epäjohdonmukaisuuksia, jotka voivat aiheuttaa sovelluksesi epäonnistumisen tai suorituskykyongelmia. Flake8:n kaltaisen linterin avulla voit havaita joitain näistä ongelmista etukäteen, mikä auttaa sinua kirjoittamaan puhtaampaa koodia. Sen integroiminen kehitystyönkulkuun on erittäin tärkeää.

Voit tehdä tämän käyttämällä sitä tekstieditorissa tai IDE: ssä ja integroimalla sen jatkuvaan integrointiputki tarkistaaksesi koodisi automaattisesti virheiden ja varoitusten varalta, ennen kuin yhdistät sen koodiin päähaara.