sonata subtropica

In juli is heel Finland op vakantie - dat betekent heel weinig vergaderen, en zelfs minder e-mail. En wat meer tijd om wat te hacken, zoals aan mijn modest vaporware.
Ik probeer de dingen op te schonen, te herordenen, te verbeteren. Softwareontwikkeling is een constant proces van verbetering (tenminste, dat zou het moeten zijn). Ontwikkelen via het oeroude 'watervalmodel' (eerst alles tot in de details specificeren, en dan implementeren) leidt zelden tot goede software. De details van goed software-ontwerp zijn eenvoudigweg niet te doorzien voordat je een deel geschreven hebt. Dat wil niet zeggen dat het softwareontwerp wordt gedaan tijdens de implementatie (of erna --> zoals bij programmeeropdrachten op school/universiteit :-). Het is zeker belangrijk eerst goed na te denken over het hoe en wat. Maar ook om te beseffen dat het eindresultaat er waarschijnlijk anders uitziet. Een goede manier om goede ontwerpideeën te kanaliseren zijn design patterns. Voor een beginnend programmeur zijn die behoorlijk nutteloos, maar na het schrijven van een aantal grotere programma's wordt hun waarde steeds duidelijker.
De meeste goed ideeën komen niet met de vingers op het toetsenbord - die komen als ik douche, of hardloop, of stofzuig. En het is een geweldig gevoel om te zien dat goed ontwerp ook werkt - in een goed ontworpen systeem vallen de puzzlestukjes als het ware vanzelf in elkaar. Veel van de regels van het ontwerpen leerde ik van eerdere probeersels; maar het is goed om te zien dat mensen dat soort dingen documenteren: anti-patterns.