Laatst was ik voor de zoveelste keer bezig met programmeren. Het ging allemaal lekker, totdat ik bij een punt aankwam waar ik altijd even van moet sidderen en beven: de **naamgevingshel! **
Mijn spellingschecker suggereert naamgevingsheli. Dat klinkt als iemand in een helikopter die door de stad vliegt en op zoek is naar mensen die net een baby hebben gekregen, en dan vanuit de wolken namen toeschreeuwt.
“Hé! Heb je Muhammed al geprobeerd? Of Joost? Ja, nee, dat is écht een Joost!” “Wat?” vader laat van schrik de baby vallen “Geen dank. Dit was de naamgevingsheli!” geluid van opstijgende helikopter
Hoe dan ook, als je programmeert werk je met variabelen. Je rekent iets uit, of je haalt een of andere waarde van een database (weet ik veel, bijvoorbeeld: hoe lang je streak is op snapchat), en dat moet je dan ergens in stoppen. Je moet het in een variabele stoppen, en dat ding moet je een naam geven.
Normaal gesproken is dat vrij simpel. Even doorgaand op het slechte voorbeeld van net, je zegt iets van
Maar soms dan wil je meerdere waardes ophalen, die je slechts tijdelijk nodig hebt. Dan krijg je een naam clash.
Vaak los ik dit op door het woordje temp ervoor te plakken, van temporary. Dus zoiets:
Dat werkt nog prima. Maar soms dan loopt het een beetje uit de hand. Dan heb je loop in loop, statement in statement, en je weet niet waar je nog namen zoeken moet. Vaak dan los ik dat op door een variabele een hele vage naam te geven, en die te hergebruiken.
Bijvoorbeeld, ik noem een variabele “tempValue”, en geef die steeds een andere waarde.
Oké, een beetje naar, maar het kan ermee door.
Het grootste probleem is dat de kans bestaat dat ik op een gegeven moment kwijtraak wat de waarde ook alweer was.
Dan zet ik misschien tempValue ergens aan het begin van een programma naar de waarde 10, en vervolgens vergeet ik dat en ben ik helemaal aan het einde van het programma verbaasd dat mijn code niet werkt.
Maar, waar het dan écht bont wordt, zijn programmeertalen waar je niet zomaar je type variabele kan veranderen. Dus, misschien is die tempValue variabele eerst een getal, en wil ik er daarna een stuk tekst van maken, of een boolean (waar of onwaar). Dat kan dan niet. Dus, de enige oplossing is—natuurlijk—overal nummers achter zetten! Ja! Ja!
Dit is een stuk code dat ik ooit (lang geleden) heb getypt:
Dat dus. Simpel toch? Je raakt echt niet verward. Ziet er ook heel overzichtelijk uit enzo.
Needless to say: dit stuk code is snel weer in de prullenbak verdwenen toen ik het de dag erna terug zag. Maar, ik bewaar mijn slechte/niet werkende code altijd in een back-up, voor dit soort momenten en om mezelf te herinneren om zoiets nooit meer te doen.
Hoe lossen we dat op dan? Geen idee. Dat is nou juist de vloek van de programmeur. Hij moet leren leven met de lelijkheid van deze code, of de tijd investeren om te leren om het helemaal netjes te doen.
Ik weet wel dat het beter is om dingen exact te noemen naar wat het voorstelt, maar dat maakt zulke lange variabelen en kost zoveel werk!
Dus geef toe, als jij de keuze hebt tussen heel veel getalletjes achter heel veel variabelen zetten, of je hele programma op een andere manier schrijven … dan kies je toch gewoon een andere hobby?