Antipatterns: Who built these pyramids?

Omschrijving
Een (aantal) slimme geest(en) heeft/hebben in het verleden een fantastisch ontwikkelframework neergezet voor een applicatie. Er zijn diverse geavanceerde plug-in structuren zichtbaar, en veel is configureerbaar. Daarnaast zit er een vorm van caching in die veel werk uit handen neemt, alleen: er mist documentatie. Sterker nog, er is geen enkele documentatie. Daarnaast blijken veel van de structuren in meer of mindere mate overbodig of zijn al lang niet gebruikt doordat er diverse mensen aan hebben gewerkt die niet op de juiste wijze uitbreidingen hebben gemaakt.

De makers van de pyramide zijn echter al jaren geleden vertrokken. Niemand kent de gedachtengang achter dit fraaie stukje meesterwerk meer.

Symptomen
Gebruik van reflectie, veel verschillende modules. Daarnaast vaak grote “layer supertypes”, in de vorm van abstract classes.

Oplossingen

  • De pyramide beschouwen als een prototype, uithuilen en opnieuw beginnen.
  • De pyramide via reverse-engineering goed documenteren en de gedachtengang achter de software in het ontwikkelproces embedden.
  • Voorkomen kan door documentatie af te dwingen tijdens bouw van dit soort frameworks.