THIS IMAGE WILL APPEAR ON THE /BLOG PAGE WHERE ALL BLOGS ARE LISTED. W1siziisijiwmtgvmtavmtevmtavmdyvmzkvodawl3niigjsb2cgdmlzdwfslnbuzyjdlfsiccisinrodw1iiiwiodawedy1mfx1mdazyyjdxq

Vreselijke Legacy Code? Dat heb je te danken aan een van deze types!

Britt Willemsen
Geplaatst op 10-10-2018

Ben je ooit bij een nieuwe opdrachtgever begonnen en kreeg je direct jeuk van de code die je zag. Zoveel jeuk dat je eigenlijk per direct alles wilde herschrijven of misschien zelfs naar huis wilde gaan? Legacy code is onvermijdelijk, er zijn vaak ontwikkelaars die voor jou aan een opdracht hebben gewerkt. Maar soms zou je wel een hartig woordje willen spreken met je voorganger…

Legacy code is natuurlijk niet altijd slecht

Meestal gaat oud werk prima samen met nieuw werk, de meeste legacy code is dus helemaal niet slecht.  Ook niet als het op een oudere framework draait, zeker niet-tech bedrijven investeren veel in software en willen dat niet elk jaar updaten als het niet nodig is.

Dus wanneer wordt legacy code nu echt een probleem?

Wij vroegen het aan onze developers en kwamen tot 5 types die zorgen voor haren-uit-je-hoofd-willen-trekken-praktijken. Herken je jezelf in een van deze types, dan mag jij je in een hoekje gaan schamen. Herken je een collega in een van deze types, voel je dan vrij om op creatieve wijze wraak te nemen. Onze suggestie? Suikervrije haribobeertjes... 

De raketgeleerde

De raketgeleerde is niet een of ander wunderkind dat in al zijn slimheid iets te ingewikkelde code heeft geschreven. Nee het is de developer die kleine problemen oplost door er een raket op te gooien. Je kent ze wel, de collega’s die liever niet standaard libraries en frameworks gebruiken – nee zij schrijven alles zelf!

En als ze weggaan? Tja, dan is het aan jou om uit te vogelen hoe alles eigenlijk werkt. En de stagiaire of nieuwe medewerker? Die moet intensief worden ingewerkt want de enige support is de man (of vrouw) die het gebouwd heeft.

De tech-verslaafde

We kennen ze allemaal de collega’s (of nog erger managers) die altijd helemaal fan zijn van de laatste ontwikkelingen. Dat nieuwe hippe framework of die compleet andere manier van werken is het enige waar ze over kunnen praten. En ze zijn niet alleen fan, ze staan er ook op dat het z.s.m. geïmplementeerd of gebruikt moet worden.

Zucht, daar is weer een of ander obscuur framework dat je halsoverkop moet gaan gebruiken. Probeer daar over 5 jaar nog maar eens developers voor te vinden…

De verdrinkende stagiaire

Soms zijn bedrijven te gierig om een senior in te huren wanneer ze die nodig hebben. Dus wordt de stagiaire gevraagd om het te doen “want hij kan toch ook programmeren?”. De stagiaire doet natuurlijk zijn best, maar code die aan elkaar hangt van Gegooglde oplossingen en work arounds zijn over het algemeen niet de beste oplossing voor de lange termijn.

De brandjesblusser

Wanneer je iets snel wilt oplossen, los je het vaak alleen op voor dat moment. Het echte probleem wordt niet aangepakt, er wordt alleen een brandje geblust. Denk aan een app waarin een maximum aantal gebruikers is geprogrammeerd. Zodra je tegen dat maximum aanloopt kun je het maximum aantal gebruikers verhogen (de brand blussen) of een duurzame oplossing zoeken waardoor ze niet bij elke groeispurt met hetzelfde probleem zit. Als een brandjesblusser te lang op een project, zit heb je vaak legacy code vol met snelle oplossingen en dat-komt-later-wel-constructies. Helaas kwam “later” nooit en ben jij nu degene die het op mag lossen.

De sprintende wijsneus

De laatste twee types zijn vooral door omstandigheden codevervuilers, maar de sprintende wijsneus zorgt ervoor dat hele teams genoodzaakt slechte code moeten schrijven. Wanneer de manager aan hem vraagt iets te doen, zegt hij dat het binnen twee dagen geregeld is. TWEE DAGEN?! Dan is de code misschien af, maar dan wel zonder debuggen en testen. Maar nu de manager weet dat het binnen twee dagen kan, wil hij het natuurlijk ook binnen twee dagen hebben. Dus rennen jullie allemaal achter het plan van de sprintende wijsneus aan. “Dat komt later wel” denk je en zo word ook jij een brandjesblusser.

Wat we hiervan leren? Dat door tijdsdruk en onrealistische verwachtingen iedereen een web van problematische code kan spinnen. Bedenk dus voordat je jouw wraakacties plant ook even wat je zelf kunt doen om het te voorkomen.