Scrierea codului Python este un lucru și scrierea codului într-un format bun este un alt lucru. Programatorii juniori se concentrează adesea pe asigurarea faptului că codul lor funcționează și uită să formateze codul corect pe parcurs.

Dacă scrieți un program mic (cu 1000 de linii de coduri), probabil că puteți scăpa fără să vă formatați codul.

Dar pe măsură ce programele devin din ce în ce mai complexe, devin din ce în ce mai greu de înțeles. La un moment dat (aproximativ 15.000 de linii de cod), devine mai greu să înțelegi codul pe care l-ai scris tu.

Diferența dintre a lucra la un cod bine formatat și a lucra la un cod formatat prost este ca diferența dintre a trăi într-un palat și a trăi într-o casă murdară.

De ce este importantă formatarea codului dvs. python

Lizibilitate

Formatarea codului dvs. vă va ajuta citit Codul tau eficient. Pare mai organizat și, atunci când cineva se uită la codul dvs., va avea o impresie bună.

Vă va ajuta în interviurile dvs. de codificare

Când sunteți într-un interviu de codare, uneori intervievatorilor le va păsa dacă vă formatați codul în mod corespunzător. Dacă uitați să faceți această formatare, este posibil să vă pierdeți perspectivele de locuri de muncă, doar din cauza codului dvs. slab formatat.

Sprijinul echipei

Formatarea codului dvs. devine mai importantă atunci când lucrați într-un echipă. Mai multe persoane vor lucra probabil la același proiect software și codul pe care îl scrieți trebuie să fie înțeles de coechipierii dvs. Altfel devine mai greu să lucrăm împreună.

Este ușor să detectezi bug-uri

Codul formatat greșit îl poate face cu adevărat, foarte greu să detectezi bug-uri sau chiar să lucrezi la un program. De asemenea, este chiar oribil să te uiți. Este o ofensă pentru ochii tăi.

Pylint și Flake8

Majorității dezvoltatorilor Python le place să folosească Pylint sau Fulgi8 pentru a verifica codul lor pentru erori și ghiduri de stil.

Pylint este un instrument care verifică erorile în Python. Încearcă să aplice un standard de codare și caută mirosuri de cod. De asemenea, poate căuta anumite erori de tip, poate recomanda sugestii despre modul în care anumite blocuri pot fi refactorizate și vă poate oferi detalii despre complexitatea codului.

Fulgi8 este o bibliotecă Python care împachetează PyFlakes, pycodestyle și Scenariul McCabe al lui Ned Batchelder. Este un set de instrumente excelent pentru verificarea bazei de cod în raport cu stilul de codare (PEP8), erori de programare precum „biblioteca importată dar neutilizată”, „Nume nedefinit” și cod care nu este indentat.

Problema este că aceste instrumente raportează doar problemele pe care le identifică în codul sursă și lasă povara dezvoltatorilor Python să le remedieze!

Dar dacă am avea un instrument care ar putea identifica și rezolva problema în același timp? Negru este un instrument care vă permite identifică erorile și formatați codul python in acelasi timp. Astfel te face mai productiv.

Introducere în negru

Cum sa va formatati automat codul Python cu negru
Logo negru

Din proiectul README:

Prin utilizarea Negru, sunteți de acord să cedați controlul asupra detaliilor de formatare a mâinii. În schimb, Negru vă oferă viteză, determinism și libertate față de stilul pycodling care te înțelege cu privire la formatare. Veți economisi timp și energie mentală pentru chestiuni mai importante.

Negrul vă poate reformata întregul fișier în loc în funcție de stilul codului negru. Vă ajută creierul să se concentreze asupra problemei pe care doriți să o rezolvați și să codați soluțiile, mai degrabă decât să vă distrageți atenția de structura codului și de diferențele stilistice minore.

Deci, să vedem cum să-l folosim.

Instalați Black

Negrul poate fi instalat rulând pip install black. Este nevoie de Python 3.6.0+ pentru a rula. Odată ce Black-ul este instalat, veți avea la dispoziție în shell un nou instrument de linie de comandă numit black, și sunteți gata să începeți!

Pentru a începe imediat cu valorile implicite sensibile, alegeți fișierul python pe care doriți să îl formatați și apoi scrieți nume de fișier negru.py în terminal. Apoi, Negru va formata fișierul dvs. python.

Acum vom vedea ce ne poate ajuta negrul să facem.

Formatați un singur fișier

Să ne uităm la acest exemplu simplu: aici sunt cele două funcții ale mele Python din fișierul meu Python numit sample_code.py.

1612135506 189 Cum sa va formatati automat codul Python cu negru
sample_code.py

Poți să folosești black sample_code.py în terminal pentru a schimba formatul. După ce rulați Black, veți vedea următoarea ieșire:

1612135507 413 Cum sa va formatati automat codul Python cu negru

Apoi puteți deschide sample_code.py pentru a vedea codul python formatat:

1612135507 736 Cum sa va formatati automat codul Python cu negru

Codul Python este acum formatat și este mai ușor de citit.

Formatați mai multe fișiere

Pentru a formata mai multe fișiere python, scrieți black folder_name/ în terminal.

1612135507 971 Cum sa va formatati automat codul Python cu negru
1612135507 299 Cum sa va formatati automat codul Python cu negru
Formatați toate fișierele python din folder

Trei fișiere python din folderul numit python_with_black au fost reformate.

Verificarea fișierelor pentru formatare

Dacă nu doriți ca Black să vă schimbe fișierul, dar doriți să știți dacă Black crede că un fișier ar trebui schimbat, puteți utiliza una dintre următoarele comenzi:

black --check .: Acest lucru va verifica ce fișier (e) Python poate fi formatat în folderul curent (dar nu modifică de fapt fișierele Python).

1612135507 558 Cum sa va formatati automat codul Python cu negru
Verificați fișierele pentru formatare

black --check --diff file_name.py : Aceasta arată ce trebuie făcut fișierului, dar nu modifică fișierul.

1612135507 985 Cum sa va formatati automat codul Python cu negru
verificați diferența după formatare

Schimbați numărul de caractere pe linie

Rețineți că negrul implică 88 de caractere pentru lungimea liniei, dar puteți schimba acest lucru folosind opțiunea „-l” sau „- -linie-lungime”.

De exemplu, pentru a schimba la 60 de caractere: black -l 60 python_file.py .

Negru în blocnotesul Jupyter

Pentru utilizatorii de notebook-uri Jupyter, puteți în continuare să vă formatați automat codul python cu această extensie simplă numită Jupyter Black. Această extensie reformatează / precizează codul din celula de cod a unui notebook prin negru.

Extensia Jupyter Black oferă

  • Un buton al barei de instrumente.
  • O comandă rapidă de la tastatură pentru reformatarea celulei de cod curente (implicit: Ctrl-B).
  • O comandă rapidă de la tastatură pentru reformatarea întregii celule de cod (implicit: Ctrl-Shift-B).

Instalați Jupyter Black

Mai întâi asigurați-vă că ați instalat jupyter-contrib-nbextensions și negru, apoi executați următoarele comenzi.

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

Apoi activați extensia executând:

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

Acum puteți începe să vă formatați codul python în fiecare celulă de notebook.

Mai întâi, selectați celula de notebook pe care doriți să o formatați codul python, apoi faceți clic pe butonul de extensie numit Negru.

1612135507 556 Cum sa va formatati automat codul Python cu negru
Înainte de a utiliza Jupyter Black

Apoi faceți clic pe butonul Jupyter Black:

1612135507 753 Cum sa va formatati automat codul Python cu negru
Butonul negru Jupyter
1612135507 90 Cum sa va formatati automat codul Python cu negru
După utilizarea Jupyter Black

Integrare editor

Puteți integra Black cu editorii dvs. preferați. În prezent, Black acceptă PyCharm / IntelliJ IDEA, Wing IDE, Vim, Visual Studio Code, Sublime Text 3, Atom / Nuclide, Kakoune și Thonny. Urmați instrucțiunile Aici pentru a integra Black cu editorul preferat.

Dacă doriți să aflați mai multe despre Black, vă recomand să vizionați Discuție PyCon 2019 de Łukasz Langa.

Dacă ați aflat ceva nou sau v-a plăcut să citiți acest articol, vă rugăm să-l împărtășiți, astfel încât ceilalți să îl poată vedea. Până atunci, ne vedem în următoarea postare! Pot fi contactat și pe Twitter @Davis_McDavid.