Kaip automatiškai suformatuoti „Python“ kodą naudojant juodą spalvą

Rašyti „Python“ kodą yra vienas dalykas, o rašyti kodą geru formatu yra kitas dalykas. Jaunesnieji programuotojai dažnai stengiasi įsitikinti, kad jų kodas veikia, ir pamiršta tinkamai formatuoti kodą.

Parašę nedidelę programą (su 1000 eilučių kodų) tikriausiai galite išsisukti, nesuformatuodami kodo.

Tačiau kai programos tampa vis sudėtingesnės, jas vis sunkiau suprasti. Tam tikru momentu (apie 15 000 kodo eilučių) tampa sunkiau suprasti kodą, kurį pats parašei.

Skirtumas tarp darbo su tinkamai suformatuotu kodu ir darbo su blogai suformatuotu kodu yra kaip skirtumas tarp gyvenimo rūmuose ir gyvenimo nešvariuose namuose.

Kodėl svarbu suformatuoti „python“ kodą?

Skaitomumas

Formatuodami kodą galėsite efektyviai perskaityti kodą . Tai atrodo labiau organizuota, ir kai kas nors pažvelgs į jūsų kodą, susidarys geras įspūdis.

Tai padės jūsų kodavimo interviu

Kai dalyvausite kodavimo interviu, kartais pašnekovams bus svarbu, ar tinkamai formatuosite kodą. Pamiršę atlikti tokį formatavimą, galite prarasti darbo perspektyvas vien dėl blogai suformatuoto kodo.

Komandos palaikymas

Kodo formatavimas tampa svarbesnis, kai dirbate komandoje . Keli žmonės greičiausiai dirbs su tuo pačiu programinės įrangos projektu ir jūsų parašytą kodą turi suprasti komandos draugai. Priešingu atveju tampa sunkiau dirbti kartu.

Tai leidžia lengvai aptikti klaidas

Netinkamai suformatuotas kodas gali labai sunkiai aptikti klaidas ar net dirbti su programa. Tai taip pat tiesiog siaubinga žiūrėti. Tavo akims tai įžeidimas.

8. Pylintas ir dribsniai

Daugumai „Python“ kūrėjų patinka naudoti „Pylint“ arba „Flake8“, kad patikrintų, ar kode nėra klaidų ir stiliaus vadovų.

„Pylint“ yra įrankis, kuris tikrina, ar nėra „Python“ klaidų. Jis bando įgyvendinti kodavimo standartą ir ieško kodo kvapų. Ji taip pat gali ieškoti tam tikrų tipo klaidų, gali rekomenduoti pasiūlymus, kaip galima pertvarkyti tam tikrus blokus, ir pasiūlyti informacijos apie kodo sudėtingumą.

„Flake8“ yra „Python“ biblioteka, apimanti „PyFlakes“ , „ pycodestyle“ ir Nedo Batchelderio „McCabe“ scenarijų . Tai puikus įrankių rinkinys, skirtas patikrinti jūsų kodų bazę pagal kodavimo stilių (PEP8) , programavimo klaidas, tokias kaip „biblioteka importuota, bet nenaudojama“, „nenustatytas vardas“ ir kodas, kuris nėra įtrauktas.

Problema ta, kad šie įrankiai praneša tik apie problemas, kurias jie nustato šaltinio kode, ir palieka naštą „Python“ kūrėjams jas išspręsti!

Bet kas būtų, jei turėtume įrankį, kuris tuo pačiu metu galėtų nustatyti ir išspręsti problemą? Juoda yra įrankis, leidžiantis tuo pačiu metu nustatyti klaidas ir suformatuoti savo python kodą . Taigi tai daro jus produktyvesnius.

Įvadas į juodą

Iš projekto „README“:

Naudodami „ Black“ , jūs sutinkate perduoti rankinio formatavimo smulkmenų kontrolę. Savo ruožtu juoda spalva suteikia jums greitį, ryžtingumą ir laisvę nuo pikodailo, nesijaudinant apie formatavimą. Sutaupysite laiko ir psichinės energijos svarbesniems reikalams.

„Black“ gali performatuoti visą failą vietoje pagal „Black code“ stilių. Tai padeda jūsų smegenims sutelkti dėmesį į problemą, kurią norite išspręsti, ir koduoti sprendimus, o ne blaškytis dėl kodo struktūros ir nedidelių stilistinių skirtumų.

Taigi pažiūrėkime, kaip jį naudoti.

Įdiekite „Black“

Juodą galima įdiegti paleidus pip install black. Tam reikia paleisti „Python 3.6.0+“. Įdiegę „Black“, jūsų apvalkale turėsite naują komandų eilutės įrankį, vadinamą juoda, ir būsite pasirengę pradėti!

Norėdami iš karto pradėti naudoti pagrįstus numatytuosius nustatymus, pasirinkite norimą formatuoti pitono failą ir tada terminale įrašykite juodą failo pavadinimą . Tada juoda suformatuos jūsų python failą.

Dabar pamatysime, ką juoda gali mums padėti.

Suformatuokite vieną failą

Pažvelkime į šį paprastą pavyzdį: čia yra mano dvi pitono funkcijos mano python faile, pavadintame sample_code.py.

Galite black sample_code.pypakeisti terminalą naudodami formatą. Paleidę „Black“ pamatysite tokį išėjimą:

Tada galite atidaryti sample_code.py, kad pamatytumėte suformatuotą pitono kodą:

Dabar „Python“ kodas yra suformatuotas ir yra lengviau įskaitomas.

Suformatuoti kelis failus

Norėdami suformatuoti daugiau nei vieną python failą, rašykite black folder_name/terminale.

Trys pitono failai aplanke, pavadintame python_with_black, buvo performatuoti.

Failų formatavimo tikrinimas

Jei nenorite, kad „Black“ pakeistų jūsų failą, bet norite sužinoti, ar „Black“ mano, kad failą reikėtų pakeisti, galite naudoti vieną iš šių komandų:

black --check .: Tai patikrins, kurį (-ius) python failą (-us) galima suformatuoti dabartiniame aplanke (bet jis iš tikrųjų nekeičia python failo (-ų)).

black --check --diff file_name.py : Tai parodo, ką reikia padaryti faile, bet failo nekeičia.

Keisti simbolių skaičių eilutėje

Atkreipkite dėmesį, kad juoda spalva pagal numatytąsias linijas yra 88 simbolių, tačiau ją galite pakeisti naudodami parinktį „-l“ arba „- -line-length“.

Pavyzdžiui, pereiti į 60 simbolių: black -l 60 python_file.py.

Juoda „Jupyter“ užrašų knygutėje

„Jupyter“ nešiojamojo kompiuterio vartotojams vis tiek galite automatiškai suformatuoti savo „python“ kodą naudodami šį paprastą plėtinį, vadinamą „Jupyter Black“. Šis plėtinys iš naujo suformatuoja / patikslina kodą nešiojamojo kompiuterio kodo langelyje juodu.

Jupyter Black pratęsimas suteikia

  • Įrankių juostos mygtukas.
  • Spartusis klavišas dabartiniam kodo langeliui performuoti (numatytasis: „Ctrl-B“).
  • Spartusis klavišas, skirtas suformatuoti visas kodo langelius (numatytasis: „Ctrl“ - „Shift“ - B).

Įdiekite „Jupyter Black“

Pirmiausia įsitikinkite, kad įdiegėte „jupyter-contrib-nbextensions“ ir „black“, tada vykdykite šias komandas.

jupyter nbextension install //github.com/drillan/jupyter-black/archive/master.zip — user

Tada įjunkite plėtinį paleisdami:

jupyter nbextension enable jupyter-black-master/jupyter-black 

Dabar galite pradėti formuoti savo python kodą kiekvienoje bloknoto ląstelėje.

Pirmiausia pasirinkite nešiojamojo kompiuterio langelį, kuriame norite suformatuoti savo python kodą, tada spustelėkite plėtinio mygtuką, vadinamą juoda.

Tada spustelėkite mygtuką „Jupyter Black“:

Redaktoriaus integracija

„Black“ galite integruoti su mėgstamais redaktoriais. Šiuo metu „Black“ palaiko „PyCharm / IntelliJ IDEA“, „Wing IDE“, „Vim“, „Visual Studio Code“, „Sublime Text 3“, „Atom / Nuclide“, „Kakoune“ ir „Thonny“. Vykdykite čia pateiktą instrukciją, norėdami integruoti „Black“ su mėgstamu redaktoriumi.

Jei norite sužinoti daugiau apie „Black“, rekomenduoju žiūrėti „PyCon 2019“ pokalbį, kurį vedė Łukaszas Langa.

Jei sužinojote ką nors naujo ar patiko skaityti šį straipsnį, pasidalykite juo, kad kiti galėtų jį pamatyti. Iki tol susitiksime kitame įraše! Mane taip pat galima pasiekti „Twitter“ @Davis_McDavid.