tifyty

pure Java, what else ?

Ösvény vakság, újratöltve

Minden nap átmész egy virágos réten. Sietsz. Mindig ugyanazon a lejtős ösvényen mész. Már egészen kitaposta a lábad a füvet, de még mindig figyelned kell a kövekre. Néha, néha eldobsz vagy elgörgetsz egy követ az útról, hogy könnyebb legyen az ösvényen menni, de mindig csak az ösvényre figyelsz. Van egy nagy kő, amit hiába görgetsz arrébb, valahova mindig visszagurul az ösvényre, és mindig elbotlasz benne. Nem látod meg, hogy ki is kerülhetnéd a követ, mert az a rét, és te már csak az ösvényt látod.

Ilyen az, amikor debuggolunk. Magyarul hibát keresünk. Nézzük a kódot, és próbáljuk megérteni, hogy miért nem azt csinálja amit szeretnénk. Persze azért, mert azt csinálja, amit utasításokba adtunk. Nem találja ki a gondolatainkat (most még). És olvassuk a kódot újra és újra, és ahogyan elsiklottunk a hiba felett, amikor beleírtuk, ugyanúgy elsiklunk felette, amikor olvassuk a kódot. Mert az az egy agyunk van, amit a koponyánk rejt, és az ugyanolyan minták alapján processzál, mint félórával ezelőtt. Bambán nézzük a képernyőt, és nem, és nem

Azután odaül mellénk valaki. Mindegy, hogy ki. A kolléga persze szabadkozik, mert ugyan most van 10 perce, nem ez a gond, de másik projekten van, és nem fogja megérteni, hogy mi is történik, és ha én, aki írtam a kódot nem találom a hibát, akkor ő, aki nem is érti az egészet, hogyan fogja megtalálni, vagy segíteni nekem?

Nem is kell.

Leül mellém, és ezzel megváltozik a gondolkodásom. Ha olyan lenne a személyiségünk, akár egy plüssmackó is ülhetne mellettünk (kipróbáltam, nem megy). (Tényleg kipróbáltam. A macskával is, azzal, lehet, hogy menne, de nagyon unja, és elmegy.) Akkor már egy másik agy dolgozik, módosultan, és ahogy magyarázunk, azért, hogy a másik megértse, és rámutasson a hibára egyszer csak meglátjuk, hogy mi a hiba! Sikerült letérni az ösvényről.

Megköszönjük a kollégának, aki persze szabadkozik, hogy ő aztán nem csinált semmit (dehogynem!), és javítunk, tesztelünk, boldogok vagyunk.

Ezt a jelenséget szoktam ösvényvakságnak hívni.

18 responses to “Ösvény vakság, újratöltve

  1. Mefi november 18, 2012 9:01 du.

    És máskülönben ezért rendkívül hatékony sokszor a páros programozás, mert amin az ember elsőre átmenne, arra szinte biztosan felhívja a másik a figyelmét.

    Vagy ha nem, akkor kétszer jobban figyel, mert az milyen már, hogy beszól a másik. 🙂

    • Kofa november 19, 2012 11:46 de.

      Néha egyébként az segített, hogy levélben próbáltam elmagyarázni a problémát egy konkrét kollégának. Mivel akinek írtam, nem ült mellettem, és nem várhattam azonnali válaszokat és úgy kellett írnom, hogy neki se kelljen kérdeznie (mivel ő sem kapott volna azonnali választ), mindent nagyon alaposan le kellett írnom és meg kellett indokolnom a “lehetetlenséget”. A “lehetetlenség” indoklásának megkísérlése közben gyakran fény derült rá, hogy mégsem lehetetlen. 🙂

  2. ab november 19, 2012 3:05 de.

    ezt hívják tapasztalatlanságnak

  3. Iván Ketler november 19, 2012 10:48 de.

    Pont ezért szerettem mindig tanítani. Ahhoz, hogy másnak elmagyarázzam, nekem sokkal jobban meg kell értenem, nem elég a “ja, innen már értem” megközelítés.

    És nem, nem gondolom hogy ciki ha más találja meg a hibát, vagy ha elmagyarázás közben jövök rá. Csak vigyázni kell ki a hallgatóság, nehogy rosszul értelmezett tekintélytiszteletből ne merjen szólni vagy kérdezni….

  4. Varjasi Norbert november 19, 2012 11:58 de.

    Annak idején dr. Pongor György ezt a “kódolvasás a nagymamával” c. fogalommal jellemezte.

  5. tvik november 19, 2012 1:53 du.

    Egyébként a debuggolás, mint tevékenység is megérne egy külön posztot, mint az ösvényvakság melegágya. A debugolás kifejezetten alkalmas rá, hogy elterelje a figyelmet a hiba valódi okáról. Debugolás során a program állapotának csak egy nagyon kis szeletét vizsgálgatjuk, a magunk kis prekoncepciói alapján. Pedig néha ott ordít a logban a megoldás, vagy legalábbis ordíthatna egy jól elhelyezettt utasítással.

  6. Botond november 19, 2012 4:37 du.

    Működhetne az egész plüss mackóval is, amennyiben elég intelligensnek tartanád ahhoz, hogy egyáltalán érdemben elkezd vázolni neki a problémát. Amit a nagyon találó “ösvény vakság” néven megfogalmaztál, azt a pszichológia beszűkült gondolkodásnak nevezi (nem összetévesztendő a beszűkült tudattal!!) és az emberi elme azon tulajdonságából fakad, hogy minden koron hipotéziseket gyárt majd igazolást keres hozzájuk. Mindig, minden élethelyzetbe feltételezések egész seregével bocsátkozunk bele. Márpedig az alap feltevéseinket nehezen módosítjuk, mert azokat egyfajta axióma-ként fektettük le magunkban.

    Miért segít ebben bárki, aki meg sem érti az egészet?? Tulajdonképpen nem ő segít hanem a tudat, hogy egy másik elme számára el kell magyaráznunk a mindent ideértve a saját prekoncepciónkat is.. és ez vala a kulcs. Amint egy pillanatra megállunk és hátralépünk, hogy valaki más számára az alapokat elmeséljük, ehhez előbb gyorsan rendszereznünk kell azt és sokszor menten kiviláglik hogy valami nem gömbölyű. Megint más esetekben elbeszélésünk szenvedő alanya rákérdez valamire, ami számunkra triviális részlet volt és emiatt ki sem tértünk rá.. ám a kérdésre keresvén a választ rá kell jönnünk, hogy az nem hogy nem triviális.. méretes bakot lőttünk.

    Tanítani én is azért szerettem és szeretek a mai napig is, mert olyan kerek egészet alkotó rendszer kialakítására ösztönöz, ami állja a kívülről érkező kérdések hadát. Tulajdonképpen a kérdésekből és a felkészülésekből talán többet tanultam én magam mint azok, akiket tanítottam..

    Nagyon sok érdekes fejtörő és pszichológiai teszt vizsgálja azt, hogy ki mennyire hajlamos ragaszkodni a kezdeti feltevéseihez. Két rövid és aránylag ismert példa:

    1. Adott 9 pont 3×3-as elrendezésben, amire 4 egyenes szakasszal le kell fednünk minden pontot pontosan egyszer úgy, hogy a ceruzát nem emelhetjük fel.

    2. Adott 6 teljesen egyforma gyufaszál, alkossunk belőlük 4 darab egybevágó szabályos háromszöget.

    Állítólag az elme gyakori és minél szélesebb területeket átívelő megmozgatása aránylag jól véd az ilyen kellemetlenségekkel szemben..

  7. Botond november 19, 2012 4:50 du.

    Gondoltam, elsütnék egy kérdést, ha már a “debug”-golásnál járunk. Velem korú (33) már csak hírből, tapasztaltabban akár személyes tapasztalatból is tudhatják a választ 🙂

    Honnan számrmaznak a “bug” és a “debug” kifejezések? A helyes megfejtők között három új fejlesztésű Turing-gépet sorsolunk ki 😀

  8. Gábor Garami (@hron84) november 20, 2012 4:01 de.

    Es ez nem csak programozasnal van, hanem peldaul rendszeruzemeltetesnel is. Ezert jo csapatban dolgozni.

  9. anoni-mouse január 2, 2013 9:43 du.

    Más néven sakkvakság: hu.wikipedia.org/wiki/Sakkvakság

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés / Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés / Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés / Módosítás )

Google+ kép

Hozzászólhat a Google+ felhasználói fiók használatával. Kilépés / Módosítás )

Kapcsolódás: %s

%d blogger ezt kedveli: