Clean Code

Alex Donker   

In at 18:45 on 25 February 2015 in room Projectruimte

Track: Discussie / Theoretisch

We hebben Checkstyle, PMD, findbugs, sonar, SIG, EclEmma en talloze libraries die je heblpen bij het testen zoals JUnit, TestNG, DBUnit, Mockito, Hamcrest, etc. Allemaal middelen die je helpen om kwalitatief goede software te schrijven. Maar wat is kwalitatief goede software? Zelfs als je al deze middelen inzet kun je nog steeds eindigen met software waar een volgende ontwikkelaar, of zelfs de oorspronkelijke auteur na een tijdje, niet meer door heen komt. Testen die niet te volgen zijn, code wijzigingen die leiden test failures op plekken waar je ze totaal niet verwacht, die bij nadere inspectie helemaal niet zouden hoeven falen als de test zich bij zijn eigen scope had gehouden. Regelmatig zie en hoor ik dat er zware test libraries zoals PowerMock ingezet gaan worden om bijv. net die ene if conditie in de verborgen private method in de abstracte class te kunnen testen. Uren of zelfs soms dagen kun je bezig zijn om dit soort code te doorgronden, regel voor regel de flow proberen te achterhalen, ondertussen een map van code en de route van de flow proberen bij te houden met alle condities die de route beïnvloeden.

Een belangrijk onderdeel van code kwaliteit vindt ik de leesbaarheid er van. Hoe makkelijk is de code te doorgronden? Misschien wel de belangrijkste factor voor de onderhoudbaarheid van de code. Robert C. Martin aka Uncle Bob heeft daar een sterke mening over. Hij heeft er zelfs een boek over geschreven en talloze training video’s gemaakt. In deze sessie wil ik een aantal van zijn meningen naar voren halen en samen kijken wat voor impact het kan hebben op hoe je code er uit ziet. En is het dan inderdaad beter? Waar ligt het balanspunt? We blijven continu doorleren en code die we vandaag met de beste inzicht zo clean mogelijk hebben geschreven, kan door voortschrijdend inzicht over een half jaar ineens best wel dirty zijn.

Daarnaast of daaropvolgend kunnen we discussiëren over wie verantwoordelijk is voor de kwaliteit van de code? Wie betaalt er voor? Hoe maak je de kosten inzichtelijk? Hoe belangrijk is het voor een organisatie?


Alex Donker

Alex Donker hasn't submitted a speaker bio to us (yet).