Ce este Codul Spaghetti și cum să-l evitați

Publicat: 2020-07-03

Deși poate face o cină italiană delicioasă, unul dintre ultimele lucruri despre care doriți să auziți despre baza codului dvs. este spaghetele . Ideea că codul tău este la fel de încurcat ca o farfurie de spaghete este îngrozitoare, dar pentru mulți dezvoltatori, ideea este atât de abstractă încât nu reușesc să înțeleagă (sau să înțeleagă cum să o evite sau să o remedieze). De aceea, în această postare vrem să ne scufundăm în ceea ce este de fapt codul spaghetti, să vă arătăm câteva dintre cele mai bune practici pentru a-l evita și (când se întâmplă) cum să ne ocupăm de el.

Abonați-vă la canalul nostru Youtube

Ce este Spaghetti Code?

Codul spaghetti este un coșmar, asta e ceea ce. Așa cum am spus mai sus, termenul de argou își ia numele, deoarece, ca o încurcătură uriașă de paste spaghete, dacă trageți de un fir (bucată de cod), acesta ajunge să se implice într-un altul și altul și altul, până când acesta sau toate bucățile încâlcite se rup.

De exemplu, gândiți-vă la proprietatea! Importantă din CSS. Este incredibil de puternic, permițând unui designer să înlocuiască stilurile moștenite și să dețină controlul asupra oricărui element special, fără a fi nevoie să recodifice întreaga foaie de stil. Cu toate acestea, atunci când aceștia (sau viitorii dezvoltatori și designeri) trebuie să regleze altceva, ar putea adăuga o altă etichetă importantă pentru a o suprascrie pe cea anterioară. Si asa mai departe. Dar dacă ar fi să vă întoarceți și să eliminați sau să modificați oricare dintre cele din acel teanc, orice număr de stiluri de pe pagină s-ar putea rupe.

Ceea ce încercăm să evităm.

Cele mai bune practici pentru a evita codul spaghetelor

1. Elaborați standarde de codare

Modul numărul unu de a preveni codul spaghetti este de a crea și codifica standarde în cadrul organizației sau proiectului dvs. Standardele de codare fac posibilă proiecte precum WordPress. Mii de dezvoltatori au lucrat la WP Core, dar standardele de codare WordPress au reușit să funcționeze cu toții în aceleași linii directoare și să îndeplinească sarcinile în aceiași parametri în același mod.

Standardele de codare sunt doar reguli pe care le aplicați. Acestea păstrează codul tuturor funcționând în același model, astfel încât erorile să fie ușor de găsit și de remediat, iar viitorii dezvoltatori (sau chiar dvs. sau echipa dvs. actuală) să știe exact ce face fiecare linie de cod cât mai eficient posibil. Dacă codul lui Susan nu își trece testele, nu intră. Dacă codul lui Janine nu are teste de executat, cererea de tragere este respinsă. Poate că Daniel nu folosește divs în cea mai recentă cerere de extragere. Fără îmbinare până când lucrurile nu sunt împărțite.

De asemenea, unele dintre bazele de cod originale care erau afectate de codul spaghetti erau limbi mai vechi, fără logică funcțională. Codul nu a fost bazat pe funcții și, prin urmare, diferite logici au fost direcționate către linii specifice din cod. Cu proiectele mici, acest lucru nu este prea rău pentru a naviga. Când începeți scalarea proiectelor, a avea referințe directe la anumite fișiere și linii de cod poate împiedica această dezvoltare. Fișierele pot lipsi, liniile pot fi șterse sau numerotate greșit. Și depanarea acestuia pentru a afla exact ce fir de spaghete a fost tras poate dura sute de ore-persoană. A avea standarde de codare poate împiedica acest gen de mizerie să se întâmple la fel de des.

Deci, dezvoltând standarde, ați redus foarte eficient șansele de a avea un depozit de cod spaghetti. Dacă doriți să aflați mai multe despre standardele de codare în general, GeeksforGeeks are un ghid excelent.

2. Urmați un ghid de stil

În plus față de standardele de codare, dacă aveți un ghid de stil de urmat, vă puteți împiedica codul să se încurce prea mult. Deși poate suna similar în teorie, cele două sunt foarte diferite. Standardele de codare există ca reguli aplicabile pe care le respectă dezvoltatorii dvs. pentru a menține codul funcționând eficient. Acestea se pot schimba de la proiect la proiect sau de la echipă la echipă în cadrul unei organizații.

Un ghid de stil, totuși, este scris în general pe bază de limbă cu limbă, oferind o serie de bune practici pentru a face codul lizibil și funcțional. De exemplu, Airbnb a creat unul dintre cele mai bune ghiduri de stil pentru React.js. Dacă nu sunteți un Dev React, atunci înseamnă aproape nimic. Dar pentru dezvoltatorii React, examinarea acestui lucru poate oferi un real ajutor în modul în care codul dvs. ar trebui să fie structurat și scris pentru a-l face cât mai accesibil pentru ca viitorii dezvoltatori să le poată ordona.

Un ghid de stil, spre deosebire de standardele generale de codificare, nu este neapărat reguli aplicabile. Sunt sugestii pentru a face codul mai uniform, ceea ce face codul mai ușor de citit. Ceea ce împiedică codul spaghetelor, deoarece știi cu exactitate ce fire trageți la un moment dat.

3. Comentează codul tău

Comentariile despre cod sunt poate cel mai simplu mod de a împiedica umplerea depozitelor de coduri spaghete. Când scrieți ceva, creați un comentariu despre ceea ce face. Dacă este o funcție sau un fragment complicat, explicați ce face logica și de ce contează.

Totuși, vă confruntați cu câteva probleme bazându-vă pe comentariile de cod pentru a preveni încurcăturile. Prima fiind că adaugă mult timp suplimentar proiectelor. Când sunteți dificil să atingeți un termen limită sau vă asigurați că o caracteristică funcționează corect, nu este întotdeauna în fața minții să scrieți o explicație detaliată a acestuia. Și dacă începeți să comentați și cădeți la mijlocul proiectului sau următorul dezvoltator nu continuă? E o farfurie mare de spaghete.

Alții sunt copleșiți de ideea de a-și comenta codul - sau de a învăța să-și comenteze codul dacă nu au făcut-o până acum - din cauza volumului pe care îl dezvoltă. Ceea ce este în întregime valabil. Dar chiar dacă comentați ocazional linii sau fragmente importante (sau chiar precare), veți salva pe cineva, potențial pe dvs., problemele de a-l trage în trecut, încercând să vă dați seama ce face.

Încheierea

Codul spaghetti este un coșmar, repet. Petrecerea a nenumărate ore încercând să-mi dau seama ce linie de cod a fost schimbată într-un depozit gigantic este una dintre cele mai proaste părți ale dezvoltării. Depanarea este bună (ish). Depanarea și necunoașterea de unde să înceapă sau ceea ce cauzează chiar problema de la distanță nu este. Dar dacă echipa dvs. stabilește standarde de codare, urmează un ghid de stil lingvistic și are chiar și o politică minoră de comentarii de coduri, există șanse foarte mari ca placa digitală de spaghete să fie mult mai puțin încurcată decât ar fi altfel.

Ce faci pentru a preveni codul spaghetti?

Imagine prezentată de articol de Donnay Style / shutterstock.com