Antipatterns: Compulsive Shopping Disorder

 
29 augustus 2009

Bij Sogyo komen we veel bij de software ontwikkelaar thuis. Over de jaren hebben we al veel verschillende projecten gezien, waar dingen vaak goed gaan maar soms ook minder goed. Ook zijn we zelf niet onbekend met het fenomeen “minder handige keuze” :). Juist de fouten of minder handige keuzes van anderen zijn erg leerzaam: door ze goed vast te leggen hoef je ze misschien zelf niet te maken.

Een aantal van deze valkuilen heb ik de afgelopen jaren opgespaard en zal ik hier de komende tijd als “antipatterns” publiceren. Het leuke aan dit medium is natuurlijk de discussie: laten we die dan ook zoveel mogelijk voeren. Voor alle bloggers hier: voeg a.u.b. je eigen anti-patterns ook met onderstaande kopjes toe en tag hem als “antipatterns”. Zo kunnen we een mooie lijst opbouwen :). De eerste die ik hieronder heb genoteerd heeft collega Ralf Wolter al eens omschreven in zijn post “Het supermarkt effect”.

Omschrijving
Om zo min mogelijk code te hoeven schrijven is het zaak zoveel mogelijk frameworks te introduceren. Naast frameworks voor databaseinteractie, user-interface interactie, databinding en natuurlijk validatie is het zaak om voor elke mogelijke functionaliteit een framework te introduceren. De aandacht voor de echte kern van de software dwaalt af en spoedig verzandt het project in een coninue stroom van framework-versiebeheer.

Ontwikkelaars die aanschuiven voor softwarebeheer of -uitbreiding dienen eerst ingewerkt te worden in talloze frameworks.

Symptomen
Elk aspect van de software heeft zijn eigen framework. Er zijn zelfs frameworks om frameworks te beheren. Vaak is het zelfs zo dat er vanuit de eigen software vrij intensieve koppelingen gemaakt zijn naar framework-specifieke en daarbinnen versie-specifieke elementen.

Oplossingen

  • Zoveel mogelijk van de exotischere frameworks uitfaseren en vervangen door een eigen implementatie
  • Framework consolidatie: onderzoek naar ondersteuning van gevraagde functionaliteit in een minimale set aan frameworks.
  • Voorkomen van een strakke framework koppeling kan door op moment van invoeren van een framework in elk geval een galvanische scheiding aan te brengen door het introduceren van een interface of eventueel een layer supertype.


Werken met ?
Kijk dan bij onze mogelijkheden voor starters en/of ervaren IT'ers.


Categorieën: Development

Tags: