Minek nevezzelek?

csirkeA fejlesztés során mindenfelé el kell neveznünk a dolgainkat. Nevet kell adnunk a változóknak, a metódusoknak, az objektumoknak, argumentumoknak, a fájloknak, az adatbázis tábláknak és mezőknek és még megannyi másnak. Miértek és hogyanok.

Mennyi időt töltünk a kód megírásával? És mennyi időt töltünk annak olvasásával? Mennyi ideig tart megtalálnunk egy bugot akár a saját akár más kódjában? Ha ezt végiggondoljuk, akkor mindenki egyet fog abban érteni, hogy az idő sokszorosát töltjük olvasással mint írással. A nevek pedig fontos fogódzkodók abban, hogy megértsük mit is csinál egy adott kódrészlet.

Márpedig minden névnek angolul kell lennie

Sosem szerettem a dogmákat. A fenti kijelentéssel pedig nem illik fejlesztők között vitázni, mert könnyen legagyizzák az embert. De miért? Mert csak.
A nevek segítenek saját magunkat eligazodni a kódon, és segítenek másokat is akik a kódot olvassák. Így a nevek nyelvénél először is azt kell eldöntenünk hogy ki mindenki fogja még olvasni rajtunk kívül a kódot.
Ha egy személyes fejlesztőről van szó, vagy a csapatban mindeni ugyanazt a nyelvet beszéli, akkor miért ne használhatnának olyan neveket mint szerkeszt vagy éppen bearbeitung?
A magam részéről felső fokon beszélem az angolt, de a kód megértésében néha jól jönnek a magyar elnevezések. E mellett a felhasználóknak írunk webalkalmazásokat és ők jobban tudnak viszonyulni egy http://webmania.cc/admin/felhasznalok/modosit/rrd url-hez mint ugyanennek az angol megfelelőjének.
Sőt dobáljatok meg kővel, de én keverem az angol és magyar neveket úgy ahogy logikusabbnak tűnik. Így lesznek isValidBeallitas és hasonló neveim.
Persze ha a csapatban vannak olyanok akiknek nem megy a magyar, vagy a kódunkat várhatóan mások is fogják használni, akkor de facto az angol fog legjobban működni. De nem azért, mert csak.
Ha a saját kis projektünkből később kinő valami nagy és bekapcsolódnak mások is a fejlesztésbe akkor még mindig lehet neveket cserélni. De hányszor történik ez? Az esetek 10%-ában? Kevesebbszer?
Na ezt jól megmondtam, tessék a hozzászólásokban anyázni.

Használjunk beszédes neveket

Sok fejlesztő hajlamos rövid neveket használni. Persze így a kód nem lesz jól olvasható, és ezért megjegyzéseket kell beleírni.

var s = 1500;   //eltelt idő másodpercekben

E helyett jobb ha elteltMasodpercek, elapsedSeconds, sőt inkább utolsoLepesIdeje lesz a kiválasztott nevünk.

Használjunk kimondható neveket

Ha szóban beszélgetünk valakivel a kódról akkor hogyan kérdezünk rá ennek a függvénynek a működésére?

function nuhikuhii($fufubifui){
   $__a = 2;
   return($fufubifui / $__a);
}

Legyen egyértelmű a különbség

Két perccel a kód emgírása után vajon még tudni fogjuk, hogy mi a különbség a $pontosIdo és a $pontos_ido változók között? Vagy már azt fogjuk gondolni, hogy csak elgépeltünk valamit?

Kerüljük el a félrevezető neveket

Egy másik hiba amibe hajlamosak vagyunk beleesni a félrevezető névválasztás.

getId : function(item){
   return {id : item.id, hossz: item.hossz }
}

A függvény elnevezése félrevezető, mert valójában ne az id-t kérdezi le, hanem valami mást.

Használjunk kereshető neveket

Néha kíváncsiak leszünk rá, hogy a függvényünket mi mindenki hívogatja az alkalmazásunkban. Ne feledjük, hogy az isValidBeallitas-ra könnyebb lesz rákeresni, mint arra, hogy i. Jobban mondva az első kevesebb irreleváns találatot fog eredményezni.

A fenti pár példa persze csak egy kis kóstoló azzal kapcsolatban, hogy mi mindenre érdemes odafigyelni amikor neveket adunk a dolgainknak. Szánjuk rá azt a pár másodpercet, hogy egy megfelelő nevet adjunk. Ez a mi érdekünk is, hiszen mi magunk biztosan fogjuk még olvasni a saját kódunkat.

A témában mindenkinek ajánlani tudom ezt a könyvet: Clean Code: A Handbook of Agile Software Craftsmanship

One thought on “Minek nevezzelek?

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöljük.