Denumiri si conventii

Am observat ca denumirile functiilor devin “contracte” la proiectele de lunga durata, ce conventii folositi pt. denumirea variabilelor / functiilor?

Eu le cam denumesc in limbaj natural si explicit (cine esti si ce faci). Mai ales ca am mai putine comentarii decat as vrea / e necesar.

Cum zice și Uncle Bob în Clean Code (este un întreg capitol pe tema asta):

  • Use Intention-Revealing Names
  • Avoid Disinformation
  • Make Meaningful Distinctions
  • etc

Say what you mean. Mean what you say.

Folosesc prescurtări doar acolo unde sunt absolut sigur că nu e loc de ambiguități (e.g. într-un loop for am doar i, j sau k, care sunt indecși comun acceptați; args este o prescurtare din care oricine îi înțelege destinația șamd).

Dacă am nevoie de documentație pentru a explica o variabilă sau, mai grav, o funcție, înseamnă că am făcut ceva greșit.

De asemenea, dacă eu încep proiectul, sub nici o formă nu folosesc altă limbă în afară de engleza în cod, indiferent că am client român (nu a mai fost cazul de mult), englez sau chinez. Mi s-a întâmplat de câteva ori să moștenesc un proiect în italiană sau în franceză și nu e foarte distractiv să faci debug cu google translate…

3 Likes

Recomand și al doilea episod din seria Clean Code, care este dedicat fix acestui subiect.

3 Likes

a fist o vreme, acum 15 ani, cand phpul era asa inocent ca trebuia sa folosim Hungarian notation ca sa disciplinam colegii sa nu mai puna stringuri in “iCounter”; inca mai cred ca e o metoda utila pt cei mai juniori, pana invata

timpul a trecut si am ajuns tot la vorbele lui uncle Bob; meaningful names

1 Like