ploeter

Ik probeer de software-ontwikkeling ook een beetje te beheersen; de laatste tijd bestaat dat vooral uit het analyseren van bug reports, en het in de juiste richting sturen van ontwikkelaars. Soms doe ik wat code review, en soms zie ik goede code, en soms code die een goede kandidaat zou zijn voor TheDailyWTF, de website waar mensen 'grappige' codefragmenten van collega's met de wereld delen...
Bij het lezen van code geldt een principe dat Linus Torvalds goede smaak noemt. Of de quality without a name van Christopher Alexander. Bij het schrijven van code is het erg belangrijk te beantwoorden aan abstracte begrippen als 'schoonheid', 'elegantie' enzo. Veel dingen daarvan kun je in coding style vatten, maar een aantal krijg je alleen door ervaring. Ik lees code, en denk dan - "oeh, da's vies!". "Maar het werkt toch?!". Ja, da's waar. En soms is het erg moeilijk om duidelijk te maken waarom iets niet een fraaie, elegante oplossing is, en met name waarom dat belangrijk is. Later blijkt echter heel vaak dat inderdaad een heel slecht idee was. Ik probeer de problemen altijd duidelijk te maken - "Er is nu een afhankelijkheid van component A op B, da's onnodig en dus onelegant!". "Maar het werkt toch?". Da's moeilijk discussiëren - maar er komt altijd een moment dat blijkt dat het inderdaad een slecht idee was... Ontwerpfouten nemen altijd wraak. Voorbeeld? Nee, geen voorbeeld.