Horváth Dusán

Artmob

Mindenekelőtt fontos kiemelnem, hogy gazdagon a program részleteiről nem írhatok. Így csak tágan van dokumentálva a porfólióm ezen nem elengedhető szelete.

Előszó

Ez a projekt tett az idők elején a legnagyobb megpróbáltatások elé. 2016 decembere előtt, mikor az első cégemnél helyezkedtem el viszonylag gyorsan be is dobtak a mélyvízibe. Ekkortájt volt a lelkesedésem az egyik legbefogadóbb a választott hivatásom újdonságai kapcsán, viszont volt pár eset, amire nem gondoltam. Pontosabban juniorként nem tudtam felmérni mire kell, vagy mivel kellene készülnöm a frissen festett alkalmazotti pozícióm vállalati piacán. Ez utóbbi köreibe tartozik, hogy nem számoltam olyan antipatternekkel, melyben részletesen kell kibontakozni, értelmet nyerni és feldogozni azokat az elérhető leghatásosabb módszerrel, a kitűzött intervallumon belül.

Leírás

A történet a számomra az egyik legemlékezetesebb pillanattal kezdődik, amit soha nem felejtek el. Ez pedig mikor megláttam a több, mint 10 ezer soros(!) Database.java fájlt. Ezt megelőzve is láttam már egykét érdekességet, de ez nálam mindent vitt. Ennek tartalma a redundancia szakkifejezést boncolta az legkacifántosabb megvalósításokkal fűszerezve.  A millió-egy függvény jóformán realm query-ket tartalmazott végtelenül indokolatlan formátumban. Ekkor el is gondolkodtam, vajon nekem friss még számos dolog, vagy ezt most komolyan át kell látnom pár nap alatt? Ez pedig önmagában egyáltalán nem taglalta a program specifikus működését, de mondom: legyen, hajrá!

A programkód egészét áttekintve refaktorálási igényre tehettem szert, jelezvén: nem tűr halasztást, amennyiben hosszútávra ütemeznek a partneri megállapodással. A kérdés ekkor adja magát: mennyi időt legális szánni egy projekt olyan felújítására, melynek már a tesztidőszak zártakor stabil lábakon illett volna kötelezően állnia. Utólag sajnos, avagy más nézőpontot kíván, hogy viszonylag temérdek óra lett a stabilizációs munkálatokba égetve. Viszont öröm az űrben, hogy újra értelmet tudott nyerni a keretrendszer a minimum beugró szintet tekintve. A kódot előttem egy hasonlóan mély vízbe eresztett programozó készítette, tervezte, - azonos berkeken belül, körülbelül 1,5 - 2 évvel korábban.

A véleményem elég gyorsan meg is állt abban, miszerint mennyiséget tekintve egy már régóta, zsúfolásig lakott palota épült meg, aminek a már az első emelete is bármikor beszakadhat.

Átfogólag becsülve maximum 10 - 15 ezer össz soros valamennyi projektem volt előtte, per app. Azokat annak idején a 'sok' kategóriába helyeztem. Dacára a tévhitnek, sikerült elém tárni, miképp lehet egy projekt akár 50 ezer soros is. Ebbe hangsúlyozottan nem beleszámolva a különböző sdk-k és libek tartalmát, csupán a gépelt kódot.

A specifikációt illetően egy előre, - a megrendelővel egyeztetett, Samsung tableten kellett egyedülállóan működnie, fektetett módban. Elsőként azt gondoltam ez nem is rossz dolog, viszont alapértelmezetten sem áll messze egy androidos mobilapp-tól, hogy bármely készüléken rendelkezésre állhasson. Rögtön idevág az egyik megvalósítási eset. A felület xml alapú részei nem kevesebb, mint 80%-a pixelben lett megadva. Ez alapvetően nyilván nem hibás(...), de mindenki tudja, hogy az! Hisz ennél nehezebben nem is szívathatja meg magát valaki.

Az alkalmazás alapja az akár 50-100 ezer rekord egyidejű, pontos menedzsmentre épült. Az elsődleges cél az adatbázisok hibátlan működése, kommunikációja volt. Továbbá a nagyméretű adathalmaz cserére is optimalizálni kellett a backend kapcsán. Ezt tetőzte meg az offline működés, miszerint garanciával kellett mindenkor helytállnia a szinkronizációs szolgáltatásoknak.

Aminek viszont kiemelten  örültem, hogy valamennyi potenciális fejlesztői eszközt ismerhetem meg általa, mint például:

(...)

Rejtett illusztráció

image

2016 Q4 - 2018 Q1

Adatlap

Az Artisjus a magyar zeneszerzők, szövegírók, zeneműkiadók és irodalmi szerzők jogkezelő egyesülete.