10 sfaturi pentru scris mai curat & cod mai bine
Fără îndoială, programarea este dificilă Cum să înveți programarea fără a face tot stresul Cum să învățați programarea fără stresul Poate că v-ați hotărât să continuați programarea, fie pentru o carieră, fie ca un hobby. Grozav! Dar poate că începi să te simți copleșit. Nu prea grozav. Iată ajutorul pentru a vă ușura călătoria. Citeste mai mult . Este un lucru de a învăța limbi străine și algoritmi de studiu, dar este o altă fiară care încearcă să codeze o aplicație complexă de lucru care nu te face să vrei să-ți dai ochii.
Într-un fel, scrierea unui cod curat este foarte asemănătoare cu desenul, gătirea sau fotografia 5 Hobby-uri creative care vă vor face o persoană mai fericită 5 Hobby-uri creative care vă vor face o persoană mai fericită O ieșire creativă adecvată poate face minuni pentru sănătatea mintală și în general fericire. Iată câteva hobby-uri creative care se dovedesc a fi de ajutor în acest fel. Citește mai mult - arată mai ușor decât este de fapt. Deci, de ce deranjez? Ei bine, pentru că avantajele merită:
- Problemele devin mai ușor de rezolvat. Odată ce începeți să vă gândiți în codul curat, abordarea dvs. cu privire la schimbările de rezolvare a problemelor. În loc de soluții brute forcing, algoritmii și designul de software devin mai eleganți și intenționați.
- Mai puțin timp este risipit pentru întreținere. Codul curat este mai ușor de citit și de înțeles, astfel încât să vă petreceți mai puțin timp încercând să aflați ce fac anumite segmente și mai mult timp pe fixare, revizuire, extindere etc..
- Ideile sunt comunicate mai clar. Dacă lucrați cu alți programatori, codul curat reduce probabilitatea de neînțelegeri între voi, ceea ce înseamnă, de asemenea, mai puține bug-uri pe termen lung.
Iată cum puteți începe să scrieți codul curat.
1. Utilizați denumirile descriptive
Care sunt variabilele, clasele și funcțiile? Există mai multe moduri de a răspunde la acest lucru, dar când vă gândiți cu adevărat, acele lucruri nu sunt altceva decât interfața dintre un programator și logica subiacentă a unei aplicații.
Deci, atunci când utilizați nume neclare și non-descriptive pentru variabile, clase și funcții, esti, în esență, obfuscând logica aplicației de la orice programator care citește codul, inclusiv tine.
“Nu sunt un mare programator; Sunt doar un bun programator cu obiceiuri grozave.”
- Kent Beck
Ce înseamnă o variabilă numită dxy
înseamnă de fapt? Cine știe. Probabil că ar trebui să citiți întreaga bucată de cod pentru a inversa înțelesul. Pe de altă parte, semnificația unei variabile precum distanceBetweenXY
este instantaneu recunoscută.
Același lucru este valabil și pentru clase și funcții. Nu vă mulțumiți CalcTan ()
când poți merge CalculateTangent ()
sau CalcTangentAngle ()
in schimb.
2. Dați fiecărei clase / funcții un scop
Te-ai uitat vreodata intr-o functie care a fost sute sau chiar mii de linii lungi? Dacă aveți, atunci știți cât de mult poate fi o durere de răsfoire, înțelegere și editare. Comentariile pot ajuta, dar numai într-un grad limitat.
“Programarea rupe o sarcină mare imposibilă în câteva sarcini mici posibile.”
- Jazzwant
Codul curat este împărțit în bucăți atomice. Fiecare funcție ar trebui să vizeze un singur lucru și fiecare clasă ar trebui să aibă scopul de a reprezenta un anumit concept. Aceasta este o simplificare desigur, dar atunci când există îndoială, este mai simplă și mai curată.
În practică, un calcul complex cum ar fi GetCreditScore ()
poate fi nevoie să fie spart în mai multe funcții de ajutor cum ar fi GetCreditReports ()
, ApplyCreditHistoryAge ()
, și FilterOutstandingMarks ()
.
3. Ștergeți codul inutil
Acest obicei prost este unul cu care mă lupt încă din când în când. De obicei se întâmplă astfel: Vreau să reparăm sau să optimizăm o bucată de cod, așa că am să-l coment și să o rescriu chiar sub ea - și chiar dacă funcționează, păstrez vechiul cod acolo doar.
“Este posibil ca software-ul să nu fie ca altceva, că este destinat să fie aruncat: că întregul punct este să-l vezi întotdeauna ca un balon de săpun?”
- Alan J. Perlis
Cu timpul am acumulat o mulțime de blocuri de cod comentate, care nu mai sunt necesare și care încă mai aglomerează fișierele sursă. Și lucrurile amuzante sunt că într-o mulțime de cazuri, codul înconjurător a evoluat, astfel încât codul comentat-out nu ar funcționa chiar dacă ar fi restaurat.
Lucrul este, această practică de comentare “codul de rezervă” a fost depășită de controlul sursei. Dacă nu utilizați ceva de genul Git sau Mercurial, trebuie să începeți imediat să utilizați sursa de control. Ce este Git și de ce ar trebui să utilizați controlul versiunii Dacă sunteți un dezvoltator Ce este Git și de ce ar trebui să utilizați controlul versiunii Dacă sunteți " re un dezvoltator Ca dezvoltatori web, o mulțime de timp avem tendința de a lucra pe site-uri de dezvoltare locală apoi încărcați totul atunci când am terminat. Acest lucru este bine când este doar tine și schimbările sunt mici, ... Citește mai mult. Codul de curățare vă așteaptă.
4. Citire> Cleverness
Prea mulți programatori se confundă “codul curat” cu “codul inteligent”, ca în cazul în care comprimarea a zece linii într-una este oarecum mai curată. Desigur, este nevoie de mai puțin spațiu pe ecran, dar este mai ușor de înțeles? Uneori, poate. Dar de cele mai multe ori? Nu.
“Toată lumea știe că depanarea este de două ori mai dificilă decât scrierea unui program în primul rând. Deci, dacă ești atât de deștept cum poți fi atunci când o scrii, cum o vei depana vreodată?”
- Brian W. Kernighan
Cred că programatorii iubesc codul inteligent deoarece se simt ca un puzzle sau o ghicitoare rezolvată. Ei au găsit o modalitate specială și unică de a implementa ceva - a “scurtătură” dacă vrei - și acționează aproape ca o validare a abilităților programatorului.
Dar pentru a scrie un cod curat, trebuie să lăsați ego-ul la ușă.
Optimizați întotdeauna codul pentru următoarea persoană care o va citi, deoarece probabil că următoarea persoană va fi de fapt TINE și nu este nimic mai rușinos decât a nu fi capabil să citească sau să înțeleagă inteligența voastră.
5. Păstrați un stil de codare consecvent
Nu am nimic împotriva tutoriilor de programare bune Ce face un tutorial de programare bun? Ce face un bun tutorial de programare? Nu toate tutorialele de programare sunt egale. Unele beneficiază de tine și de ceilalți ajung să-ți pierzi timpul. Iată ce să căutați într-un tutorial de programare de calitate. Citiți mai multe, dar una dintre dezavantajele este că începătorii capătă o mare varietate de obiceiuri conflictuale, mai ales că acestea se referă la stilul de codare.
Nu sunt aici pentru a declara că un stil este mai bun decât altul. Dacă doriți bretele pe propriile lor linii, mergeți la el. Dacă doriți să precedeți apelurile metodice cu spații, bine. Dacă preferați filele în spații, nu mă lăsa să vă conving altfel.
Dar, indiferent ce faceți, rămâneți consecvent!
Frumosul este mai bun decât urât.
Explicația este mai bună decât implicită.
Simplu este mai bun decât complex.
Complexul este mai bun decât complicat.
Platul este mai bun decât imbricate.
Rar este mai bine decât dens.
Capacitatea de citire.
- Tim Peters, Zenul lui Python
Dacă o să utilizați camelCaseNaming
pentru variabile, nu-l mânuiți underscore_naming
. Dacă utilizați GetThisObject ()
într-un singur loc, nu merge cu FetchThatObject ()
altundeva. Și dacă amestecați file și spații, meritați să vă scoateți tastatura.
Decideți ce veți face de la bun început și rămâneți cu el încoace. Unele limbi, cum ar fi Python și C #, au ghiduri de stil la nivel de limbă pe care ați dori să le urmați.
6. Alegeți arhitectura potrivită
Există multe paradigme și arhitecturi diferite pe care le puteți utiliza pentru a vă crea proiectele. Rețineți cum este vorba acest sfat pentru a selecta dreapta unul pentru nevoile dvs., nu pentru selectarea Cel mai bun unul acolo. Nu este “Cel mai bun” aici.
“Fără cerințe și design, programarea este arta adăugării de erori într-un fișier text gol.”
- Louis Srygley
De exemplu, modelul Model-View-Controller (MVC) este foarte popular chiar acum în dezvoltarea de web, deoarece vă ajută să vă păstrați codul organizat și proiectat într-un mod care minimizează eforturile de întreținere.
În mod similar, modelul Entity-Component-System (ECS) este foarte popular chiar acum în dezvoltarea jocurilor, deoarece ajută la modularizarea datelor și a logicii jocurilor într-un mod care ușurează întreținerea, toate producând în același timp un cod mai ușor de citit.
7. Învață idiomurile limbii
Una dintre dificultățile în mastering un nou limbaj de programare 7 Trucuri utile pentru mastering un nou limbaj de programare 7 Trucuri utile pentru mastering un nou limbaj de programare Este bine să fiți copleșiți când învățați să codificați. Probabil veți uita lucrurile cât de repede le veți învăța. Aceste sfaturi vă pot ajuta să păstrați mai bine toate informațiile noi. Citiți mai multe este învățarea nuanțelor care o separă de toate celelalte limbi. Aceste nuanțe pot fi diferența dintre codul urât, complicat și codul frumos, ușor de întreținut.
Luați în considerare Python, Java și JavaScript. Toate acestea sunt extrem de diferite unul de celălalt, într-o măsură care necesită a un mod diferit de gândire în funcție de limba pe care o alegeți să o utilizați.
“O limbă care nu afectează modul în care vă gândiți la programare nu merită să știi.”
- Alan J. Perlis
În timp ce Python este vorba despre codul compact și tastarea rațelor, Java este mai mult spre partea de verbozitate și explicitate. Fiecare limbă are idiomuri (cum ar fi comprehensiunea listelor din Python) care încurajează un anumit mod de codificare. Ai face bine să le înveți.
Există, de asemenea “anti-modele” să vă faceți griji, care sunt în esență modele sub-optimale de design care duc la un cod ineficient, nesigur, sau altfel prost. Studiați și dezvăluiți toate anti-modelele comune legate de limba dvs. de alegere.
8. Studiați Codul de masterat
Dacă doriți să scrieți un cod curat, cel mai bun lucru pe care îl puteți face este să vedeți cum arată codul curat și să încercați să înțelegeți de ce este așa - și nu există o modalitate mai bună de a face acest lucru decât de a studia fișierele sursă ale industriei studii de masterat.
Evident, nu puteți să ieșiți în sediul Microsoft și să vă uitați la proiectele lor, dar puteți căuta mereu proiecte bine-cunoscute de surse deschise. Cum să vizualizați și să modificați codul sursă al unei aplicații open-source Cum să vizualizați și să modificați codul sursă De la o aplicație open-source În timp ce mergeți open source ar putea fi o alegere bună, va trebui, de asemenea, să investiți în comunitatea potrivită. GitHub este unul dintre cele mai bune locuri pentru a face acest lucru, nu numai din cauza cantității ... Citește mai mult . Nu știu de unde să încep? Încercați proiectele prezentate pe Github.
“Orice prost poate scrie codul pe care îl poate înțelege un computer. Programatorii buni scriu codul pe care oamenii îl pot înțelege.”
- Martin Fowler, Refactorizarea: îmbunătățirea designului codului existent
La urma urmei, acesta este unul dintre motivele pentru care există proiecte open source De ce oamenii contribuie la proiecte cu sursă deschisă? De ce contribuie oamenii la proiecte cu sursă deschisă? Dezvoltarea open source este viitorul software-ului. Este grozav pentru utilizatori, deoarece software-ul open source este de obicei disponibil gratuit și adesea mai sigur de folosit. Dar ce angajează dezvoltatorii să contribuie gratuit la cod? Citește mai mult: alții pot învăța de la ei. Și dacă decideți să contribuiți la un astfel de proiect, acesta poate accelera procesul de învățare 5 Idei de proiect pentru a vă ajuta să învățați mai repede programarea 5 Idei de proiect pentru a vă ajuta să învățați programarea mai rapid Există câteva moduri de a ușura curba de învățare pentru programare. Ia mâinile murdare și învață mai repede cu proiectele laterale pe care le poți începe oricând. Redați-vă cu cei cinci. Citeste mai mult .
Personal, prima dată când am văzut codul cu adevărat curat este când am dat peste un proiect Python de tip open-source al unui anumit pasionat. Codul a fost atât de elegant, încât aproape că am renunțat la programare, dar în cele din urmă ma învățat foarte mult.
9. Scrie comentarii bune
“Scrie comentarii bune” este cea mai veche bucata de sfaturi din lumea programarii. De fapt, de îndată ce primii sunt introduși la comentarii, ei sunt destul de mult încurajați să comenteze cât de des pot.
Dar aproape că simțim că am mers prea departe în direcția opusă. Nou-născuții, în special, tind să comenteze prea mult - descriind lucruri care nu trebuie să fie descrise și lipsesc punctul de vedere al “Comentariu bun” este de fapt.
“Întotdeauna codificați ca și cum tipul care vă sfătuiește să vă mențină codul va fi un psihopat violent care știe unde locuiți.”
- John Woods
Iată o regulă bună: există comentarii pentru a explica DE CE o bucată de cod există mai degrabă decât ce face de fapt codul. În cazul în care codul este scris în mod suficient de curat, ar trebui să fie explicat în mod automat cu privire la ceea ce face - comentariul ar trebui să explice intenția din spatele motivului pentru care a fost scris.
Comentariile pot fi bune pentru avertizări (adică. “eliminând acest lucru se va sparge A, B și C”), dar în cea mai mare parte ar trebui să descoperi lucruri care nu pot fi imediat colectate din cod (adică. “utilizați acest parametru deoarece X, Y și Z”).
10. Refactor, Refactor, Refactor
Așa cum editare face parte din procesul de scriere, refactorizarea face parte din procesul de codificare. O aversiune față de refactorizare este cea mai rapidă modalitate de a ajunge la un cod care nu poate fi întreținut, așa că, în multe privințe, acesta este de fapt cel mai important sfat care trebuie luat în considerare.
Pe scurt, refactorizarea este doar un termen fantezist pentru curățarea codului fără a afecta comportamentul său real.
“Ori de câte ori trebuie să mă gândesc să înțeleg ce face codul, mă întreb dacă pot refactoriza codul pentru a face această înțelegere mai evidentă.”
- Martin Fowler, Refactorizarea: îmbunătățirea designului codului existent
Un pic de înțelepciune care a rămas cu mine este vorba, “Nu comentați codul rău. Rescrieți-o.” Așa cum explică Fowler în citatul de mai sus, dacă codul se simte întotdeauna destul de confuz, că trebuie să-l comentezi, poate că ai nevoie să-l refacționezi.
În plus, pe măsură ce editați biți de cod aici și acolo pe tot parcursul proiectului, lăsați întotdeauna codul într-o stare mai bună decât atunci când ați găsit-o pentru prima dată. Acesta poate părea ca o neplăcere în acest moment, dar se va plăti pe termen lung (și poate chiar să se oprească de la burnout mentale Programare Burnout: Cum să vă recâștiga motivația pierdut Programarea Burnout: Cum să vă recâștiga motivația pierdut Scrierea toate acele linii de codul poate fi golit din punct de vedere fizic și emoțional.Tot ce trebuie să obțineți înapoi este conștientizarea că motivația poate fi recuperată.Citește mai mult).
Există întotdeauna ceva nou de învățat
Un programator care învață cum să scrie un cod curat este asemănător unui romancier care învață cum să scrie proză curată: nu există o modalitate corectă de a face acest lucru în sine, dar există o mulțime de modalități greșite de a face acest lucru și va dura ani pentru a stăpâni.
Unii oameni nu au ceea ce este nevoie și în cele din urmă se termină renunți la programare pentru 6 semne care nu înseamnă să fii un programator 6 semne că nu înseamnă să fii programator Nu toată lumea este tăiată a fi programator. Dacă nu sunteți sigur că sunteți menit să fii programator, iată câteva semne care vă pot îndruma în direcția cea bună. Citește mai mult - și asta e bine, deoarece există o mulțime de alte locuri de muncă techy care nu implică codificare Codificare nu este pentru toata lumea: 7 locuri de muncă Tech puteți obține fără ea Codificare nu este pentru toată lumea: 7 locuri de muncă pe care le puteți obține fără ea Nu vă descurajați dacă doriți să faceți parte din domeniul tehnic - există destule locuri de muncă pentru persoanele care nu știu cum să cod! Citeste mai mult .
Dar pentru oricine altcineva, codul curat este un lucru pe care merită să-l străduiți, chiar dacă va dura tot restul vieții pentru a ajunge acolo.
Cât de important este codul curat pentru tine? Ce reguli urmați pentru a vă menține codul curat și organizat? Aveți alte bucăți de înțelepciune pe care să le împărțiți? Spuneți-ne în comentariile de mai jos!
Explorați mai multe despre: Programare.