Thursday, April 25, 2024 08:15

Cuprins >> Funcții > Practici recomandate la folosirea metodelor și funcțiilor

Practici recomandate la folosirea metodelor și funcțiilor

Există două motive principale pentru care metodele și funcțiile sunt folosite. Primul, pe care l-am menționat deja în câteva dintre postările anterioare, este reutilizarea codului. Al doilea este modularizarea codului, divizarea sarcinilor complexe în sub-sarcini mai mici, care ne pot oferi o mai bună imagine de ansamblu a întregii funcționalități.

Aceasta este o listă a celor mai bune practici atunci când se utilizează metode și funcții, precum și o explicație mai detaliată a motivelor pentru care ne sunt utile:

  • Fiecare metodă ar trebui să efectueze o sarcină, și doar singură sarcină. Dacă aveți o metodă pentru scrierea unui fișier, acesta ar trebui doar să scrie un fișier. Dacă aveți o funcție de efectuare a înmulțirii, aceasta ar trebui să efectueze numai înmulțire. Încercați să evitați combinarea mai multor sarcini într-o singură metodă sau funcție, cu excepția cazului în anumite sarcini sunt grupate de același scop (de exemplu, o metodă pentru salvarea unui fișier ar putea efectua câteva sarcini care sunt legate de procesul de salvare a fișierului: să verifice dacă locația de salvare există, dacă fișierul salvat suprascrie un fișier deja existent, procesul efectiv de salvare a fișierului, un mesaj opțional pentru utilizator în cazul executării cu succes a sarcinii, probabil manipularea erorilor, etc).
  • O metodă sau funcție trebuie să aibă un nume bun, logic, scurt și descriptiv. Dacă o metodă efectuează tipărirea unui document, denumiți-o PrintareDocument(), nu MetodaMea(). O funcție sau o metodă ar trebui să indice scopul său doar dintr-o simplă privire asupra numelui său. Alte denumiri cum ar fi Proceseaza(), MetodaMea() sau Calculeaza() nu sunt descriptive și vă vor încurca mai târziu. Dacă aveți probleme în a denumi metoda sau funcția, este, probabil, o indicație a sarcinilor multiple efectuate într-o singură metodă sau funcție. Încercați să le împărțiți mai departe, în sarcini mai mici!
  • Prin convenție, numele metodelor și funcțiilor ar trebui să conțină un verb, și ar trebui să descrie o acțiune. Nume bune de metode sau funcții sunt, de exemplu: SorteazaNumere(), StergeFisier(), CautaProdus(), etc.
    De asemenea, prin convenție, numele metodelor și funcțiilor ar trebui să utilizeze PascalCasing, ceea ce înseamnă că numele ar trebui să înceapă cu literă mare pentru fiecare cuvânt și să continue cu litere mici, iar cuvintele nu trebui să fie separate prin niciun caracter. Modul preferat de a denumi metode și funcții: TrimiteEmail(). Evitați trimite_email(), trimiteEmail(), trimiteemail(), etc.
  • Metodele și funcțiile ar trebui să aibă o dependența minimă față de clasa în care au fost declarate. Cu alte cuvinte, nu modifică date care nu ar trebui să fie modificate de respectiva metodă sau funcție, și nu le trimitem mai multe date decât este necesar pentru a-și efectua sarcina lor specifică.
  • Încercați să păstrați metodele și funcțiile scurte. Veți găsi că având o metodă sau o funcție care se întinde pe mai mult de o înălțime a ecranului face lucrul dificil. Există cazuri în care nu există nici o altă cale, dar dacă aveți posibilitatea de a alege, încercați să evitați metode și funcții prea lungi.
  • Nu supra-divizați programul. Unii programatori, din teama că nu își divizează suficient codul, divizează metodele și funcțiile în unități prea mici. Nu este un principiu bun de programare să avem 3 funcții pentru efectuarea unei simple adunări a două numere!
  • O ultimă recomandare bună atunci când se utilizează funcții și metode este de a le oferi un bun mecanism de tratare a erorilor. O metodă sau o funcție ar trebui să genereze întotdeauna o eroare sau excepție descriptivă, atunci când nu-și pot îndeplini sarcina desemnată. Alertarea utilizatorului că „Nu s-a putut salva fișierul!“ nu este o eroare foarte descriptivă și nu oferă nici un indiciu cu privire la motivul pentru care fișierul nu poate fi salvat.

Tags: , , ,

Leave a Reply



Follow the white rabbit