Boekreview Robert C. Martin – Clean Code – A Handbook of Agile Software Craftsmanship

Auteur: John Kronenberg ● John.Kronenberg@closesure.nl

Dit jaar was ‘Uncle Bob’, de bijnaam waaronder Robert C. Martin in de programmeerwereld bekend is, in Nederland. Robert Martin is het meest bekend als één van de auteurs van het Agile Manifesto. Ook is hij mede-ontwikkelaar van de open source tool Fitnesse. ‘Uncle Bob’ gaf in Nederland meerdere presentaties. Zo was hij voor de landelijke Java User Group bij de Rabobank in Utrecht en voor de plaatselijke Apeldoorn JUG in Apeldoorn. Ik had het genoegen om bij zijn presentatie in Apeldoorn te zijn. De presentatie had als onderwerp ‘Clean Code’, niet toevallig de titel van zijn boek, die ik in dit boekreview ga behandelen. In de dagelijkse praktijk ben ik voornamelijk werkzaam in testautomatisering en vanuit mijn professie ben ik heel veel van mijn tijd aan het programmeren. Als mijn werk als testautomatiseerder dan voornamelijk programmeren is, is het zeer waardevol om inzicht te krijgen in hoe je betere code kunt schrijven. Door zijn presentatie in Apeldoorn is hij er, door voorbeelden uit de dagelijkse praktijk te geven, goed in geslaagd de toehoorders een spiegel voor te houden en te enthousiasmeren nog meer energie te steken in het opleveren van goede en leesbare code. Ik had het boek ‘Clean Code’ al een tijdje op mijn leeslijst staan en ik zag naar aanleiding van de presentatie een reden het boek met hoge prioriteit te lezen. Is Robert erin geslaagd om middels zijn boek ook zo’n onuitwisbare indruk achter te laten?

Overview

‘Clean code is not written by following a set of rules. You don’t become a software craftsman by learning a list of heuristics. Professionalism and craftsmanship come from values that drive disciplines’. Een zin uit het boek dat mijn ogen deed openen. De hoofdboodschap van het boek is wat mij betreft dat je empathie moet tonen als je code schrijft. Empathie voor iedereen die je code zal gaan lezen, inclusief je toekomstige zelf. Hoe vaak komt het wel niet voor dat je een half jaar geleden code hebt geschreven dat je een half jaar later niet meer goed kan doorgronden. Het boek geeft handvatten om dit je in de toekomst niet meer te laten overkomen. Goed voor anderen en goed voor jezelf. Het boek gaat heel diep in op programmeertechnieken, waardoor het boek voor de gemiddelde testautomatiseerder wat ‘too much’ en ‘overwhelming’ over kan komen, maar toch is er voor ons testautomatiseerders voldoende kennis uit te halen. Het boek staat vol met suggesties als ‘schrijf nooit functies met meer dan drie argumenten’ of ‘schrijf nooit functies die langer zijn dan 15 regels’. Suggesties die, ook al ben je niet met ze eens, je op zijn minst laat nadenken over Best Practices.

Structuur

Laten we eens naar de structuur van het boek kijken. Het boek bestaat uit drie verschillende secties. Deze secties zijn allemaal prima geschreven en presenteert een goede oplossing. In de introductie wordt een definitie gegeven van wat slechte en ongestructureerde code is. Dit probeert Robert Martin met humor te brengen, bijvoorbeeld de volgende quote is erg herkenbaar.

‘The only valid measurement of Code Quality: WTFs/minute’

De eerste sectie gaat over principes, patronen en Best Practices voor clean code. Een paar van de bruikbare zaken zijn hoe code te formatteren, hoe commentaar toe te voegen en hoe je foutafhandeling in je functies kunt toevoegen.

De tweede sectie presenteert praktijkcases. Al deze cases worden bediscussieerd vanuit een clean-code-perspectief en hoe je code te verbeteren. Tegen veel van deze voorbeelden en situaties ben ik zelf als testautomatiseerder aangelopen. Het heeft me veel inzicht gegeven in hoe ik programmeer en hoe ik schonere code kan schrijven.

De derde sectie geeft een aantal zeer goede en goed gestructureerde voorbeelden hoe te doorzien dat je code ‘smells’, zoals Robert Martin het noemt, en hoe je dit probleem kunt oplossen.

Kortom, dit boek is een zeer goed boek voor iedere collega die als testautomatiseerder in ons vakgebied werkt en wil leren betere code te schrijven. Lees dit boek, je zult er geen spijt van krijgen.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *