Van egy olyan jelenség, amit kevesen értenek a programozásban, még a fejlesztők se mindig. Ugyanakkor nap mint nap isznak kólát, úgyhogy a jelenséggel mindenképpen találkoznak.
Arról van szó ugye, amikor kitöltöd a pohárba.
Pezseg, mint a kurvaélet. Habzik. Ha telibe küldöd bele az egészet a pohárba, akkor ki fog jönni a hab, ki fog ömleni a tetején, kétségbeesetten odahajolsz majd, és szürcsölöd le, de ettől csak nyakig olyan leszel, ő meg továbbra is pezseg ki, és minden ragadni fog, és undorító lesz. Nem, kérlek, ne vágjál ilyen arcot, pontosan tudja mindenki, hogy egyszer már veled is történt ilyen, és azt is vélelmezzük, hogy háromnál többször nem, ellenkező esetben kihívást jelentene az internethasználat. Szóval ismerjük a szénsavat, igen, mindig egy kicsit várni kell, amíg lemegy a hab, és utána lehet tovább tölteni. Vagy nagyon lassan, kínos óvatossággal. Az is jó. Csak egybe sokat ne, mer abból baj lesz - nem is beszélve arról, hogy maga a pohár kb negyedig tud ilyenkor megtelni a tényleges itallal. A többi csak jön, pezseg, bajt csinál, aztán meg elpárolog.
Na és ugyanezt valamiért forráskódnál nem sikerül megtanulni. Pedig az angolok készségesen eléd szaladtak ezüsttálcán egy olyan kifejezéssel, hogy "settledown time", ami pont erről szól: ha dolgoztál egy csomót, összeraktál egy bonyolult kódot, és úgy tűnik, hogy minden rendben van, akkor ne nekiessél a következő feladatnak, illetve ha főnök vagy, ne hajtsd szöges ostorral az alkalmazottat, hogy "szuper vagy, Lalikám, mehetsz át a következő projektre", hanem hagyj egy kis időt.
A programkód fele ugyanis a fejedben van, és éppen habzik. Ki fog ömleni, kifröcsköl az orrodon, a füleden, mindenütt, ha nem hagyod lecsillapodni. Ezt nem feltétlen úgy értem, hogy menj el két napra pihenni - sokan így értik, van is nekik igazuk, meg nincs is -, hanem sokkal inkább arra gondolok, hogy dokumentálj, illetőleg refaktorálj, nézd át a kódodat, javítgasd, súlytalanul piszkálj bele itt-ott, főleg olvashatósági meg logikai szépítgetéseket csinálj, olyanokat, amiket menet közben elhatároztál, de aztán elfelejtetted, mert éppen sietni kellett, és inkább hagytad a picsába, pedig FONTOS, akkor is tudtad, hogy fontos, csak nem volt sose éppen annak az ideje, hogy visszamenj megcsinálni. Na, hát most pont annak van itt az ideje.
Settledown time. Nagyon fontos.
Ismered egyébként, ha programoztál már bármit, ami folyamatosan és processzorigényesen működik: régen úgy hívták a dolgot, hogy application.processmessages, és a ciklusaid nagy részében érdemes volt meghívni, ugyanis ha nem tetted, akkor a Windows megakadt, mert 100%-ban veled kellett foglalkoznia, és nem tudta a szomszéd ablakot újrarajzolni. Ugyanígy a Javascript könyvek is azt tanítják, hogy amikor valami nagyot és minden figyelmet igénylőt csinálsz, akkor tarts benne szüneteket, hagyd a gépet levegőhöz jutni, különben fagyás, frusztrált júzer és force-close lesz a vége a dolognak. ERRŐL VAN SZÓ. Ugyanígy itt is hagyni kell szusszanni a forráskódot, és főleg az agyadat. Lehetőleg úgy, hogy a kontextusból azért ne rázódj ki (ezért nem jó az offtopic pihenés), de egy kicsit tekerj sík terepen a nagy emelkedő után.
Minden olyan cég, aki erre nincs tekintettel, előbb-utóbb rábaszik megbánja.
Az, aki állandóan magas fordulatszámon tartja a motort, állandóan kihajtja a szart lelket az alkalmazottakból, állandóan produktív akar lenni, állandóan nyomja a gombot, hogy a megszerzett eszközök termeljenek, az nem egyszerűen az arányosan megnövekedett kopással lesz kénytelen számolni, hanem valami sokkal drasztikusabbal. Van egy küszöb, ami alá nem lehet lemenni a pihenőkkel. Lehet napi 10 óra helyett 15-öt dolgozni, de nem lehet 15 helyett 20-at.
Nem először és nem másodszor látok olyan forráskódot, amiben egyértelműen tetten érhető a túlhajszoltság. A fejlesztő részmegoldásokat csinált, látványpéket játszott, hirtelen és gyorsan és szarul rakott össze dolgokat, hogy minél hamarabb meglegyen az optika, aztán úgy patkolta mögé az engine-t, hogy ne szakítsa meg a látványfejlődés folytonosságát, mintegy igazolva ezzel a láthatatlan fenyegető kéz felé: "igen, dolgozom, haladok, minden rendben van"... Pedig nem volt ott semmi rendben, csak úgy fröcskölt ki a fejlesztő(k) fülén a kólahab. Túl lett töltve a projekt, túl lett feszítve a forráskód. És mindezt úgy, hogy ma már nagyon jók az eszközök, nagyon korszerűen lehet fejleszteni, nagyon jól lehet kommentezni. De akkor is, van egy határ.
Fejlődni kell abban, hogy megállapítsd ezt a határt, és fejlődni kell abban, hogy megérezd, mennyi a szükséges settledown. Ha szépíted a kódot, az olyan, mint az Android telefonon kilőni a háttérprocesszeket: utána minden könnyebb, frissebb, reszponzívabb, bejött a tavaszi levegő és nagyokat slukkolunk belőle. Persze nem egyszerűen wellness ez, hanem szó szerint élet-halál kérdés - de addig jó, amíg úgy kezded kortyolni a friss levegőt, hogy "jaj de finom", és nem úgy, mint a víz alól felbukó ember, hogy úristen, végre oxigén, el se hiszem, hogy túléltem.
A forráskód veszélyes, bele lehet fulladni. A forráskód-hab letüdőzése rejtélyes bugokat okoz, és sok plusz munkaórát, a nagyon kevés nehezen megspórolt plusz idő ellenében.
Tessék megtanulni okosan tölteni a pohárba.