Tag Beroepsdeformatie

TDD is een vraaggesprek

Plato’s dialogen zijn toegankelijk, inzichtelijk en vaak ook ontzettend grappig. Eén van de redenen waarom ze vandaag de dag nog zo goed leesbaar zijn, zit ’m in die dialoogvorm. Het spel van vraag en antwoord geeft leven aan Plato’s filosofische onderzoekingen, het voorkomt dat het een droge uiteenzetting wordt van argumenten en conclusies. Omdat ik nu eenmaal een beroepsdeformatie heb, kon ik het onder het lezen niet nalaten aan Test-Driven Development te denken. Want ook TDD is een soort van vraaggesprek, en ook TDD geeft leven aan het oplossen van een programmeertaak.

Refactoren is als fitnessen

Laatst zei mijn vrouw tegen me: “Hé, je vetkwab is weg!” Maar toen keek ze iets langer en vervolgde: “Nou ja, bijna.” – Wat ik bedoel te zeggen is: het gaat de goede kant op. Ik doe wat aan lichaamsbeweging de laatste tijd, een beetje fitness. Het deed me, omdat ik een beroepsdeformatie heb, aan refactoren denken.

Meer features is niet (per se) meer beter

Een tijd terug las ik The Selfish Gene van bioloog Richard Dawkins. Omdat ik een beroepsdeformatie heb, deed het me aan softwareontwikkeling denken.

Testen is als flossen

Code unittesten is als je tanden flossen: de meeste mensen doen het niet, en als ze het doen, doen ze het op het verkeerde moment.

Codefluisteren

Een goede codefluisteraar kan in een stuk code werken en hoort dan – aanvankelijk zachtjes, maar met ervaring steeds duidelijker – plots een probleem. Het probleem is niet: de code werkt niet. Het probleem is: ik als ontwikkelaar ben nu harder aan het werk dan de code.

Evolutionair programmeren

Wat evolueert in de evolutieleer? Wat is de locus van evolutie? – En natuurlijk, dat is de beroepsdeformatie: wat evolueert er in onze codebase?

Coderen met luchthaken en hijskranen

In mijn vakantie las ik Darwin’s Dangerous Idea van Daniel Dennett, het boek is een aanrader. Omdat ik een beroepsdeformatie heb, deed het me aan softwareontwikkeling denken.

Het Single-Responsiblity Principe en mijn keukenkastjes

Ik vind er wat van dat ik twee verschillende keukenkastjes moet openen voor iets wat in feite één handeling is. Ga maar na: wanneer pak je een koffiekopje? Als je koffie gaat zetten. En wanneer pak je een koffiepad? Als je koffie gaat zetten. Het pakken van een koffiekop gaat altijd gepaard met het pakken van een koffiepad. Het is een atomaire handeling.

Over afwas en software

Afwassen is net als software ontwikkelen. Althans, ik probeer mijn afwas net zo aan te pakken zoals ik mijn software het liefst ontwikkel. Het fundamentele idee wordt kernachtig verwoord door Kent Beck in de volgende quote: “For each desired change, make the change easy (warning: this may be hard), then make the easy change.

Fietsen met tegenwind

Een tijd geleden schreef ik over leren in je codebase. In die blog zette ik uiteen waarom het mijns inziens geen goed idee is om je zelfstudieproject te koppelen aan de productiecode waar je team aan sleutelt. Er is nog een reden waarom je je leerproject verre moet houden van productiecode. - En die reden is dezelfde reden als waarom je niet anderhalf uur naar je werk moet willen fietsen om je buikje weg te werken en/of je hoofd leeg te maken. Als ik die reden in één woord moet vangen, dan is het: druk.