2018. március 14.

A „Betört ablak” elv

10 perc olvasási idő

A „Betört ablak” elv

Létezik egy érdekes krimonológiai elmélet, amelyet szoftverfejlesztőként is érdemes ismerni, mert megmagyarázza, hogyan lesznek az eredetileg szépen megírt kódokból vállalhatatlan spagettik, és hogyan válnak a szerelemprojektnek induló munkák „support rémálommá”.

A „Betört ablak” elvet a nyolcvanas évek végén dolgozták ki amerikai kriminológusok, akik megfigyelték, hogy ha egy környéken betörnek egy ablakot és nem javítják meg rövid időn belül, az elhanyagoltság szelleme terjedni kezd és előbb-utóbb egyre több ablak fog betörni arrafelé. Ugyanígy rossz hatással van a környékre egy összefirkált fal, az eldobált szemét és minden, amiből az elhanyagoltság hangulata árad. Az ilyen környéket az emberek még jobban elhanyagolják, ez az ördögi kör pedig egyenes úton vezet a romló közbiztonsághoz, az elharapódzó bűnözéshez.

Az elmélet visszafelé is működik: ha felaszámoljuk a rendetlenséget, csökken a bűnözés. Több esettanulmány is igazolja az elmélet működését.

Törött ablakok és tiszta kódok

A kódban a hibás döntések, a gyenge kódminőség, a hiányzó vagy rossz tervezés jelentik a problémát. Ha olyan projekten dolgozol, amely ilyen technikai adósságokkal terhelt, főleg, ha gyorsan kell megoldás, te is könnyebben követsz el benne hasonlókat, mert úgy érzed, nem az az egy kis csúnyaság fogja tönkretenni a már egyébként is egyre nehezebben karbantartható projektet.

De nem csak most gondolkozol így, hanem a következő módosításkor is, és nem csak te, hanem az egész csapat. Tisztában vagy vele, hogy az egész kódbázis egy alapos refaktorálásért kiált, de egyre rosszabb még belegondolni is, hogy ezt valamikor el kell kezdeni.

Ne hagyj tehát törött ablakokat a kódodban, mert hiába nem tűnik önmagában nagy problémának egy-egy kevésbé elegáns kódsor, könnyen elindulhat a projekt a fenntarthatatlanul rossz kódminőséghez vezető úton. A valóságban persze tudom, előfordul, hogy nincs idő a tiszta megoldás azonnali megvalósítására, de ilyen esetekben is mindig törekedni kell a technikai adósságok mihamarabbi rendezésére.

Samu József

Webfejlesztő. Nyitott az újdonságokra - frontenden és backenden egyaránt. Igényli a valódi kihívásokat. Tudja, hogy csak akkor maradhat képben, ha minden nap képes fejlődni.

Samu József

Hozzászólások