A 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
Webfejlesztőt keresek, aki tudna készíteni egy ehhez: http://wikimapia.org
nagyon hasonló weblapot.
mail címem: [email protected]