Uw browser is sterk verouderd. Upgrade je browser voor een betere gebruikers ervaring en veiligheid.

Artikels

Boek Review: Code Complete 2

Geschreven door

Code Complete 2 review

What it is and isn't

De tagline van dit boek is "A practical handbook of software construction" en het boek staat ook doorspekt met code voorbeelden maar echt veel praktische informatie ga je er niet uit halen. Het overgrote deel van de inhoud is theoretisch. Maar dat was net waar ik naar op zoek was dus dat is al een goed punt. Een klein nadeel is wel dat de meeste codevoorbeelden in Java, VB of C++ zijn geschreven. De code voorbeelden behandelen daarentegen wel vaak vrij simpele dingen of stellen ze simplistisch voor dus kan je daar zeker wel mee verder als je al wat ervaring hebt met programmeren.

Code Complete 2 is zeker ook geen page turner. Het is een boek waar je makkelijk door gefascineerd raakt maar je zal hem nooit van cover tot cover uitlezen. Er staat zo veel en complexe materie in dit boek dat je regelmatig een paar dagen moet nemen om alles te laten bezinken. CC2 is trouwens eerder een naslagwerk wat je tijdens je dagdagelijkse bezigheden als developer kan gebruiken dan een boek wat je gaat lezen in de zetel met wat rustige achtergrondmuziek op.

Waar gaat de boek eigenlijk over?

Dit boek puilt echt uit van de best practices. Van high level onderwerpen zoals Design Strategies, Planning en Analyse tot low level onderwerpen zoals Data Types, API's en Variable naming.

Er worden ook veel vragen beantwoord over vaak voorkomende problemen of zelfs dingen waar je voorheen nooit aan gedacht hebt. Waarom is nesting van if-statements bijvoorbeeld slecht en hoe kan je het beter uitvoeren? Waarom zou je versiecontrole gebruiken? Hoe ga je praktisch te werk bij deployment? Hoe beheer je je software versies? Waarom noem je een variabele bijvoorbeeld best $currentDate ipv $cDate? Welke data types gebruik je best in welke omstandigheden? Veel van deze technieken en best practices zijn terug te leiden tot de basis van goed programmeren en kan je in eender welke taal die je schrijft toepassen. Als je hier naar op zoek bent is dit boek goud waard.

Ook wordt er veel aandacht besteed aan de opvolging van alles wat er voor en na ontwikkeling komt zoals tools, class layout, API's, debugging, issue tracking, testing, refactoring, etc. Zoals je merkt behandelt dit boek zoveel onderwerpen dat het onbegonnen werk is om ze hier allemaal op te lijsten.

Checklists

Erg handig zijn ook de checklists die bij elk hoofdstuk zijn gevoegd. Na elk hoofdstuk vind je namelijk een checklist die je kan hanteren om te zien of je de aangehaalde best practices wel beheerst en toepast op je projecten. Zo kan je vaak de "Debugging checklist" en "Refactoring checklist" gebruiken om te zien of je wel goed bezig bent en waar je kan bijsturen.

Website

Het hele boek staat ook vol met referenties naar cc2e.com, de website die bij dit boek hoort en waar extra checklists, links, artikels, etc te vinden zijn over dit boek. De zoekfunctie op de website is ook een onmisbare tool die je tijdens je dagdagelijkse bezigheden als ontwikkelaar regelmatig kan raadplegen.

Conclusie

Laat me duidelijk zijn, Code Complete 2 is één van de meest hulpzame en beste boeken over programmeren die ik gelezen heb, maar ik ben wel een illusie armer. Ik zal nooit alles wat in dit boek staat onder de knie hebben. Niet omdat het niet allemaal toepasbaar is op mijn job als LAMP developer maar wel omdat dit boek de perfecte programmeur omschrijft en die bestaat niet. Wel heb ik er een super handig naslagwerk bij en een doel om naar te streven. Wie weet mag ik over een paar jaren opnieuw een blogpost schrijven waarin ik moet verwijzen naar deze dat ik ongelijk had, dat de perfecte programmeur wel bestaat, en hopelijk ben ik dat dan. Dit boek helpt me in ieder geval wel een heel eind op weg!