Rule of thumb je da stvari u vecem scope-u trebaju imati sto deskriptivnije ime, a u manjem scope-u mozes koristiti krace nazive.
pushIfNotExist meni uopce nije predugo, ali o ukusima se ne raspravlja.
Ovo mi je zapravo upravo iznjedrilo logiku za proceduru osmišljavanja imena metodama. Gdje ne moramo onda svakoj metodi tražiti naziv koji ima direktnog opisnog smisla.
Sublime. Ali ovo je nebitno ako tražiš nešto za što smatraš da bi nekom širom konvencijom jednog dana moglo biti prihvaćeno. Ostajem pri tome da metode koje su u svom nazivu praktički “rečenice” …da mi se ne uklapaju u tu filozofiju.
Osim toga, pine() se fino da usložavati. Npr. pineRange(). Dok u onom slučaju je malo nezgodno nadoštukavati: pushIfNotExistRange() … hmm.
A koja je prednost tog pristupa, osim sto ces ustedjeti par bajtova na velicini source fajla ?
Jos jedan banalan primjer zasto bih preferirao pushIfNotExist > pine:
Imas neki problem i trazis pomoc na forumu.Zalijepis dio koda gdje je pine metoda koristena, bez dodatnog komentara niko ziv nece skontati sta ta metoda radi - sa pushIfNotExist stvar je malo drugacija
Eh isto tako niko ziv ko dodje da radi na codebase s tobom nece znati sta ta metoda radi bez da mu ti kazes, ili napises komentar ili on/ona sam baci pogled u source te metode.
Elegancija ne znaci imati naziv metode od 4 karaktera, a nemati pojma sta ta metoda radi.