Codul „bun” este la fel ca o gluma buna: nu are nevoie de explicatii.
De cele mai multe ori, daca codul tau este scris bine, nu are nevoie de comentarii si documentatie.
Codul bun este ca o masina cu sonorizare buna si suport de pahar, care ajunge la limita de viteza fara probleme: atunci cand se strica, orice mecanic poate sa o duca la atelier si sa o repare, folosind tehnici standard.
Codul prost este ca o masina care promite sa ajunga la 200km dar are radio numai cu casete… probabil si suport de cafea cu fund inclinat, sa pice toata cafeaua. De fiecare data cand aranjezi oglinzile, masina ia foc si trebuie reparata exact de persoana care a facut-o in fabrica, folosind unelte de pe alte planete.
Codul bun este ca o carte bine scrisa.
- Usor de inteles
- Frumos impartit pe capitole independete
Codul prost este ca o carte slaba.
- Toate capitolele fac referire unele la celalalte, dar este cu totul neclar la ce se refera fiecare capitol
- Acelasi lucru este descris de foarte multe ori… desigur de cele mai multe ori se contrazice
- Autorul mentioneaza cateva exceptii de la regula care si ele se contrazic
- PUF! Dintr-o data apare un vampir care straluceste in lumina soarelui!
Lucruri de tinut minte daca vrei sa scrii cod bun:
- Sa fie citibil. De catre tine sau oricine altcineva care se uita la cod.
- Sa fie „mentenabil”. Asta inseamna ca oricand poti modifica usor codul.
- Sa fie simplu. Nu este nevoie sa ne complicam mai mult decat este cazul.
- Sa fie eficient. Codul ar trebui sa fie scris destul de repede dar sa si ruleze repede.
- Sa fie clar. Daca se explica pe el insusi, nu sunt de multe ori nevoie de comentarii. Ai grija la cum numesti clasele, metodele si proprietatile. Sparge codul mare in parti mai mici. Incearca sa nu faci copy paste la cod dintr-o parte in alta. Explica prin comentarii ce anume ai vrut sa faci in cod.
- Sa nu uimeasca atunci cand este citit. Incearca sa nu faci un alt programator sa se intrebe „ce truda face codul acesta” atunci cand se uita la codul tau.
Testul calitatii unui cod.
Pune un alt programator care nu ti-a vazut codul niciodata sa il citeasca si sa explice ce face fiecare modul. Cu cat simti mai mult nevoia sa il corectezi sau sa ii explici ceva, cu atat mai prost este codul tau.
Daca stai calm si cu gura inchisa sau daca nu au nevoie prea multa de ajutor ca sa iti inteleaga codul, probabil ai scris un cod bun.
Poti sti cand codul tau este bun atunci cand:
- Este scris destept, dar nu prea destept.
- Algoritmii sunt optimi – atat in viteza cat si in claritate.
- Clasele, variabilele si functiile sunt bine numite si fac sens fara prea multe adaugituri.
- Te intorci inapoi la codul tau dupa un weekend de pauza si poti continua munca fara probleme.
- Lucrurile se pot refolosi.
- Metodele sunt scurte si fac in mare doar un singur lucru.
- Ai destule informatii atunci cand apelezi o metoda, fara sa te uiti la codul din metoda.
- Clasele tale fac un singur lucru, au un scop bine definit si sunt separate de alte clase cu scopuri diferite.
- Trebuie sa te intorci sa modifici sau sa adaugi un feature si este foarte usor sa faci asta.
- Blocurile tale de try/catch sunt cat se poate de scurte.
Codul bun este modular.
Lucrez foarte mult la firma la un proiect in Javascript. Nu ma gandeam cat de modular poate sa fie acest limbaj. Mi-am facut o structura la care este foarte usor sa mai adaug o pagina, un modal, un formular.
Sa spunem ca avem trei straturi in proiect: interior, mijloc si exterior.
Stratul interior nu ar trebui sa importe nimc din celalalte doua straturi. Stratul din mijloc nu ar trebui sa depinde deloc de stratul exterior.
„Good code is its own best documentation” – Steve McConnell
Multumesc pentru ca ati citit pana aici. Sper ca toti impreuna de acum vom scrie cod cat mai bun si eficient.
Lasă un răspuns