You are here

Maga a kód

Hungarian
Body: 

Párszor már elmondtam, hogy nem vagyok fejlesztő csak hobbiprogramista és még el is fogom mondani párszor. Emiatt van az, hogy vannak könyvek dolgok, amiket még nem olvastam.

A Csillagrombolóm alakulgat. A hajtómű már látótávolságban az orrhoz képest. Igaz a látványt zavarja az a kurva nagy doboz, ami majd a híd lesz. Fut egy-két kábel is a nagyobb elemek mentén és már a hajtómű is köhécselt egy-két füspamacsot. Szóval, látszanak már a méretek és a lehetséges problémák. Ezekre kell valami megoldás ezen a szinten, hogy haladjunk valameddig. Aztán megint átgondolom a dolgokat és hozom a fejszét, hogy szétcsapjam a madzagok egy részét és kitalálok valami más megoldást.

Az igazán nagyképű az lenne, ha úgy kezdtem volna ezt a bejegyzést, hogy kijelentem, hogy alapelveket fektettem le! Fektetett a fene! Egyszerűen amikor már érthetetlen és átláthatatlan a káosz, amit teremtettem, akkor leülök megvakarom a fejem és megcsinálom olyanra, hogy érthető legyen. Aztán átváltok kommunikácós módba és írok ide róla.

Szóval, van már pár osztály, metódus és modul. Van itt egy régi gondolat a fejemben ami felébredt. Annak köszönheti ébredtségét, hogy van amikor egy hétig hozzá sem nyúlok ehhez a projekthez és amikor pár nap után dolgozni akarok vele, akkor van egy megértési szakasz. Igen, a kérdés az, hogy amikor eléd kerül a kód, akkor mennyi idő alatt érted meg? Ha megfordítom, akkor meg úgy hangzik, hogy mennyire törekszel és milyen eszközöket használsz annak érdekében, hogy a kódod érthető - itt a gyors és könnyű érthetőségről beszélek - legyen mások számára?

A gondolatom pedig úgy hangzik, hogy maga a programkód is kommunikál. Annak szerkezete, nevezéktana - csak nem tudtam elkerülni, hogy ne használjam ezt a szót - kommunikál. Tesztelésben van is erre egy módszer, amit statikus tesztelésnek hívnak és van pár eszköze és paramétere. Egy ideje mindig felmerül a programozókkal történő beszélgetéseim során, hogy a nagyvállalati informatika "beáldozta" a teljesítmény egy részét azért, hogy könnyebben érthető legyen a kód. Azt gondolom, hogy a hardver még mindig olcsóbb, mint találni egy zsenit, aki megérti, hogy a másik zseni mit varázsolt oda. Miért mondom ezt? Azért, mert a nagyvállalatoknál egy szoftver életciklusa akár 5-10 vagy ennél több év is lehet. Biztos, hogy nem az az ember vagy az a csoport fog vele dolgozni, hanem a programozók jönnek és mennek.

Ebben a témakörben ami nekem most így testközelben van az az osztálynevek, csomagnevek, metódusnevek, adatbázisban a mezőnevek, táblanevek, REST elérési utak nevei és maga egy-egy osztály belső szerkezete. Az automatizált tesztelés rászoktatott arra, hogy bátran használjak hosszú és beszédes neveket legyen szó változóról vagy metódusról. A jávának ez nem is okoz gondot. Tudom, hogy ez egy picike dolog, de így eljutottam oda, hogy egy hét után nem teszem fel magamnak a kérdést miszerint "mi a faszt akartam én itt most?"

Van egy másik módszer arra, hogy hogyan tesztelem a kódomat. Leületetem Balázst, hogy nézze át. Amikor vakarni kezdi a fejét, akkor tudom, hogy valami nem kerek.

Ebben a témakörben jó segítséget ad a NetBeans folding megoldása. Itt pici kódrészletekkel meg tudod adni, hogy hol legyen a kód "behajtva" és ne zavarjon. De erről a Netbeans részben fogok írni, amikor a sablonokról írok. Ez egyébként nem az én agyamból pattant ki, hanem Balázs mutatta meg.

De majd lesz ennek kód - programozó kommunikációnak egy vagy több másik szintje, ahol a kommunikáció eszköze a tervezési minták lesznek és maga az architektúra.

Sayusi's tagcloud: