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.
- Asenna Flake8 suorittamalla alla oleva komento päätteessäsi:
pip install flake8
- Varmista, että Flake8 on asennettu suorittamalla seuraava komento:
flake8 --versio
- 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
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.