Berichten met de tag ‘Eenvoud’

No exceptions made

20 juli 2010

Naar aanleiding van een bevinding tijdens een interne project code review  en een artikel in het laatste Java Magazine hadden we een interessante discussie over de redenen om exceptions toe te passen. Uiteindelijk kon ik zelf achter twee vuistregels staan, één die ik zelf bedacht had, de ander van een collega.
Lees verder >>

Naar aanleiding van een bevinding tijdens een interne project code review  en een artikel in het laatste Java Magazine hadden we een interessante discussie over de redenen om exceptions toe te passen. Uiteindelijk kon ik zelf achter twee vuistregels staan, één die ik zelf bedacht had, de ander van een collega.
Lees verder >>

Implementeren is modelleren

03 oktober 2008

Net als het schrijven van de code vind modelleren plaats over de gehele duur van het project. In een eerder artikel werden twee regels beschreven die een model erg eenvoudig hielden. Dit gaf een hoop ruimte die tijdens de implementatie ingevuld moet worden. Dat is echter niet erg want goed implementeren is een vorm van modelleren.
Lees verder >>

Net als het schrijven van de code vind modelleren plaats over de gehele duur van het project. In een eerder artikel werden twee regels beschreven die een model erg eenvoudig hielden. Dit gaf een hoop ruimte die tijdens de implementatie ingevuld moet worden. Dat is echter niet erg want goed implementeren is een vorm van modelleren.
Lees verder >>

Is maximale flexibiliteit in software wel de “holy grail”?

26 september 2008

Iedere programmeur is zich ervan bewust dat elk probleem op (ontelbaar) veel manieren is op te lossen. 2 belangrijke variabelen waar je als programmeur bewust of onbewust mee speelt zijn complexiteit en flexibiliteit. Complexe code is code die moeilijk te lezen/begrijpen is, vooral door anderen. Een flexibele applicatie kan gemakkelijk veranderingen ondergaan zonder dat er veel code veranderd hoeft te worden.
Lees verder >>

Iedere programmeur is zich ervan bewust dat elk probleem op (ontelbaar) veel manieren is op te lossen. 2 belangrijke variabelen waar je als programmeur bewust of onbewust mee speelt zijn complexiteit en flexibiliteit. Complexe code is code die moeilijk te lezen/begrijpen is, vooral door anderen. Een flexibele applicatie kan gemakkelijk veranderingen ondergaan zonder dat er veel code veranderd hoeft te worden.
Lees verder >>

Domein modelleren is niet moeilijk

26 september 2008

Er wordt vaak erg ingewikkeld gedaan over domein modelleren. Het is echter minder moeilijk dan het lijkt. De belangrijkste fouten die ik vaak tegen kom zijn modelleren op basis van informatie en modelleren op basis van diep nadenken. Goed domein modelleren gebeurt echter op basis van gedrag en op basis van relevante observaties.
Lees verder >>

Er wordt vaak erg ingewikkeld gedaan over domein modelleren. Het is echter minder moeilijk dan het lijkt. De belangrijkste fouten die ik vaak tegen kom zijn modelleren op basis van informatie en modelleren op basis van diep nadenken. Goed domein modelleren gebeurt echter op basis van gedrag en op basis van relevante observaties.
Lees verder >>

Niet mocken!

09 juni 2008

Het heeft voor mijn gevoel tamelijk lang geduurd, maar unit-testing begint nu langzaam maar zeker normaal te worden in een software-ontwikkeltraject. Zelf kan ik niet meer zonder. Binnen een statisch getypeerde taal is het namelijk één van de weinige mogelijkheden om direct feedback van jouw software te krijgen. Toch lijkt in het huidige gebruik een belangrijk aspect van unit-testen verloren te gaan.
Lees verder >>

Het heeft voor mijn gevoel tamelijk lang geduurd, maar unit-testing begint nu langzaam maar zeker normaal te worden in een software-ontwikkeltraject. Zelf kan ik niet meer zonder. Binnen een statisch getypeerde taal is het namelijk één van de weinige mogelijkheden om direct feedback van jouw software te krijgen. Toch lijkt in het huidige gebruik een belangrijk aspect van unit-testen verloren te gaan.
Lees verder >>

Object transport

26 januari 2008

Inmiddels ben ik in heel wat applicaties een vorm van object transport tegengekomen. Bepaalde objecten uit een business-logica laag of component dienen getransporteerd te worden vanaf of richting een user interface, email component of database. Wat heel vaak gedaan wordt is transport via (web)services richting een user interface waarbij de services niet de ‘echte’ business objecten vervoeren maar DTO’s (Data Transfer Objects). Aangezien logica of gedrag van deze objecten niet meegestuurd wordt over deze services zie je dat in de targetlaag vaak bepaalde logica die al bestond in de bronlaag opnieuw declareert.
Lees verder >>

Inmiddels ben ik in heel wat applicaties een vorm van object transport tegengekomen. Bepaalde objecten uit een business-logica laag of component dienen getransporteerd te worden vanaf of richting een user interface, email component of database. Wat heel vaak gedaan wordt is transport via (web)services richting een user interface waarbij de services niet de ‘echte’ business objecten vervoeren maar DTO’s (Data Transfer Objects). Aangezien logica of gedrag van deze objecten niet meegestuurd wordt over deze services zie je dat in de targetlaag vaak bepaalde logica die al bestond in de bronlaag opnieuw declareert.
Lees verder >>

Het supermarkt effect

14 januari 2008

Het belangrijkste aspect van software ontwikkeling is volgens mij eenvoud. Eenvoud in het proces en de methodiek. Eenvoud in code en architectuur. Eenvoud zorgt ervoor dat mensen snel kunnen begrijpen waar het over gaat. Dat een enkele oogopslag voldoende is om de essentie van de software te doorgronden.
Lees verder >>

Het belangrijkste aspect van software ontwikkeling is volgens mij eenvoud. Eenvoud in het proces en de methodiek. Eenvoud in code en architectuur. Eenvoud zorgt ervoor dat mensen snel kunnen begrijpen waar het over gaat. Dat een enkele oogopslag voldoende is om de essentie van de software te doorgronden.
Lees verder >>