Clean Code (Robert C. Martin)
Postat pe 5 martie 2024 în Tehnologie
Cel mai important sfat a acestei cărți este inspirat din regula cercetașului american: Lasă locul de campare mai curat decât l-ai găsit:
Dacă toți am lăsa codul scris de noi puțin mai curat decât atunci când l-am preluat, atunci codul pur și simplu nu ar putea să se deterioreze. Această curățire nu trebuie să fie ceva major. Schimbă un nume de variabilă în ceva mai bun, împarte o funcție care este puțin prea mare, elimină un mic fragment de duplicare, simplifică o instrucțiune 'if' compusă.
Probabil și tu ai căzut uneori în capcana de a crede că "getting it work" este principalul obiectiv al unui developer. Greșit! Această carte îți va explica de ce principala misiune a unui profesionist este comunicarea prin codul scris. Funcționalitatea implementată astăzi are toate șansele să se schimbe în viitorul apropiat, dar calitatea codului scris de tine va avea un impact major asupra tuturor schimbărilor ce vor fi făcute în viitor.
Când vine vorbe despre teste, "Uncle Bob" ne amintește cele trei reguli TDD (Test Driven Development):
- Nu poți scrie cod al aplicației până nu ai scris un unit test care eșuează.
- Nu poți scrie mai mult dintr-un test decât este necesar pentru a eșua, iar ne-compilarea este considerată eșec.
- Nu poți scrie mai mult cod decât este necesar pentru a trece testul care eșuează în prezent.
Altă idee care ne atrage atenția este faptul că nu vei putea să faci totul perfect din prima. Trebuie să ne concentrăm pe funcționalitățile curente și, abia atunci când e cazul, să modificăm și să extindem sistemul pentru funcționalitățile viitoare. Codul curat și testele ne voi permite să facem acest lucru fără mari riscuri și bătăi de cap. Dar un cod mai puțin organizat și lipsa testelor ne vor pune piedici și ne vor lăsa fără siguranța că putem modifica codul fără să creem bug-uri în alte părți ale aplicației la care lucrăm.
Dar cum ar putea fi mai ușor să ajungi să creezi un cod ușor de întreținut și de modificat în viitor? Dacă respecți regulile următoare, vei vedea că acest lucru se va întâmpla fără mare efort:
- Scrie și ai grijă că trec toate testele. Un sistem care este testabil va trebui automat să fie decuplat și să respecte principiile codului curat. Altfel va fi foarte greu să scrii teste.
- Elimină codul duplicat. Aceste porțiuni de cod pot fi de trei tipuri: linii de cod identice care se repetă în mai multe locuri, blocuri de cod la prima vedere diferite dar care fac de fapt același lucru și algoritmi identici care se repetă chiar dacă implementarea lor diferă de la un caz la altul.
- Scrie cod expresiv. De multe ori, în graba de a rezolva un task și a trece mai departe, vom scrie cod pe care îl înțelegem doar noi în acel moment de maximă concentrare. Dar când rezolvi taskul, nu considera că ți-ai terminat treaba. Revino asupra codului și refă-l astfel încât să fie simplu de înțeles și de cineva care nu este atât de familiar cu toate detaliile proiectului așa cum ești tu. Pe viitor poate chiar tu vei fi pus în situația de a reveni pentru a fixa un bug sau pentru a adăuga o funcționalitate nouă. Fă-ți viața mai ușoară ție sau colegului care va veni după tine!
- Folosește clase și metode cât mai puține. Atenție, acest ultim sfat nu trebuie să contrazică principiile unui cod curat. Este de dorit să avem cât mai puține clase și metode, dar doar dacă păstrăm claritatea și calitatea codului, nu dacă îl facem mai greu de înțeles și de modificat în viitor.
Cartea Clean Code se încheie cu o serie de "tips & tricks" care sumarizează și clarifică regulile pe care trebuie să le urmezi pentru a scrie un cod curat. Acestea sunt împărțite în 7 secțiuni: comentarii, mediu de lucru, funcții, generale, Java, nume și teste. Asigură-te că le citești cu atenție și ca le înțelegi, iar, din când în când, revin-o asupra lor pentru o reîmprospătare.
Am apreciat mult această carte și, după ce am citit-o electronic, am vrut să o am în format fizic, în bibliotecă, pentru a-mi fi ușor să revin și să o răsfoiesc periodic. Eu am cumpărat-o de pe Amazon, dar este disponibilă și la
noi, la un preț ceva mai piperat. Totuși cred că merită să o ai în bibliotecă și să te întorci la ea din când în când.
Nota mea: 5/5