A fel­adat

Ancsa, Timi és Tibi

Megint visszadobta egy issue-mat. Két napon belül ez már a negyedik. Vért izzadok ezen a projekten. A többiek már bedobták a törölközőt, de én még tartom magam, mindent beleadok, túlteljesítek, mindhiába. Ő valószínűleg csak annyit lát ebből, hogy nem vagyok elég alapos.

Pedig ebből a feladatból is igyekeztem kihozni a legtöbbet. Megnéztem a leírást, de nem tudtam reprodukálni a hibát. Na, akkor kellett volna visszapattintani a labdát: nincs elég info, cannot reproduce, csinálj vele te, amit akarsz.
Ehelyett én, hülye sztahanovista, ha már ott jártam, megoldottam egy másik apróságot ugyanazon az oldalon. És mi a hála? Úgy röpül vissza az issue Needs work-be, mint az olajozott istennyila...
És még kommentel is hozzá Slacken.
“ez nagyon zavaró lehet számodra is, hogy ennyiféle különbözőség van a kódban, ezek együtt kéne mozogjanak. miért alakult így?”

Szinte látom magam előtt a jelenetet. Két meeting között gyorsan tesztelni akarja az elkészült feladatokat, lehuppan a gép elé. Megnézi az elsőt: nem jó. Visszateszi Needs work-be. Megnézi a másodikat: nem működik. Visszateszi Needs work-be. Egyre idegesebb, vörösödik a feje, magában talán anyázik, de aztán nagy levegőt vesz, és próbálja alkalmazni az EMK-tréninget tanultakat. Próbáljunk empatikusan kapcsolódni a másik félhez. Próbáljuk megérteni az ő álláspontját, helyzetét.
Elolvasom megint amit írt. És megint. És megint. És hiába gondolom úgy, hogy ki van rám akadva, az EMK még így is hat. Ha tényleg kíváncsi rá, miért alakult így, akkor megmutatom neki…

Újra nekiveselkedek a feladatnak. Meg fogom mutatni neki, milyen az, ha a teljesség igényével akarom megoldani ezt az egyszerű, egy pontos kis feladatot.

Kezdjük azzal, hogy hol kell tesztelni a változtatásom. Készítek egy listát a különféle megjelenésekről, amiket át kell néznem, aztán kiválasztok egyet találomra. Beletrafáltam: ezt a megjelenítést nem használjuk sehol. Yeah! Akkor inkább haladok sorban.

Megnézem a következő megjelenést. Ránézésre nem jó, gyorsan ellenőrzöm: nem miattam. Kikeresem a tervet (ez nem olyan egyszerű, mint amilyennek hangzik, de pár perc tűnődés után sikerül kiválasztani a HOMEv34-et).
Tényleg nem egyezik a terv és a jelen állapot, vacakolok vele egy darabig, aztán továbbmegyek a következő megjelenésre. Ott megint nem jó, de legalább máshogy nem. Kutatok, hogy mi okozza az anomáliát, eljutok a kódrészlethez, ami felelősnek tűnik, bámulom, próbálom értelmezni, aztán egyszerűen kitörlöm. Most úgyis alaposan végigtesztelek mindent, majd csak előjön, ha valahol elrontok vele valamit.

Haladok tovább a következő nézetre, ahhoz másik terv tartozik, persze, richtig nem egyeznek az értékek a korábbi terven lévővel, ott is igazítani kell.
Lépjünk tovább. Ezen a helyen 3 másik hibát látok meg kapásból, se a szöveg formázása nem stimmel, se a kép mérete, és még egy plusz elem is odakerült, grátisz. Javítsam, vagy jelezzem a PO-nak? Na jó, fixáljuk meg, hiszen akadályoz az eredeti feladatomban. Elidőzöm rajta egy darabig, próbálom összerakni a kirakós darabjait, hónapokkal ezelőtti commit message-ekből, issue leírásokból. Lassan kirajzolódik a kép, tipikus eset: akkor még nem gondoltunk rá, hogy ilyen ügyféligény lesz később, nem készítettük fel rá a kódot. Mérlegelem a különböző megoldási ötleteket, kipróbálok ezt-azt. Tesztelem mobilon is, ekkor újabb hibára bukkanok. Apróság, de mindennek van határa: ez már nagyon nem tartozik az issue-mhoz, felírom, majd veszünk fel róla másik hibajegyet.

Aztán átnézem a mobilterveket, megnézek hármat-négyet is, próbálom kitalálni a tervező szándékát: melyik lehet az általános formázás, melyik számít speciális esetnek. Végignézem mobilon az eddigieket, itt-ott még bele kell nyúlni, de többnyire megfelel az elvárásnak. 
Aztán ismét rábukkanok egy ugyanolyan kódrészletre, amit korábban kitöröltem.
Most már kénytelen leszek utánajárni, ki, mikor, milyen szándékkal formázta meg így az elemet. Tanulmányozom a verziókezelőben a megjegyzéseket, hogy megértsem, mi volt a cél, és mit rontok el, amikor kitörlöm. Ahogy egyre jobban kezdem átlátni az összefüggéseket, gyanút fogok: ez eddig se működhetett jól! Ellenőrzöm a tesztkörnyezetekben, és tényleg: ha jól megnézzük, elcsúszás van mindkét környezetben, az egyikben kisebb, a másikban nagyobb. Tehát összegezve: az eddigi megoldás amellett, hogy nem jó, még akadályoz is más helyeken, viszont az én megoldásom se tökéletes.

Itt elakadtam, tanácsot kell majd kérnem.

Közben este fél 7 lett. Fél 3 körül kezdtem a munkát. Ez egy 1 pontos feladat, 7 fájlt módosítottam, és bár a feladatot megoldottam, és sok más apróságot is kijavítottam, refaktoráltam, végül mégis csak maradt egy dolog, amit meg elrontottam. A fejlesztői lét kvintesszenciája: mindig többet szívsz a feladattal, mint tervezed. Ha nem, akkor még nem tudsz róla, hogy később szívni fogsz vele. Ha nem te, akkor a kollégád.

Oszd meg ismerőseiddel!