Antipatterns: Generic Genericness

Omschrijving
Na gedesillusioneerd te zijn geraakt bij de starheid van software van eerdere projecten wordt het idee opgevat om zaken meer generiek te gaan oppakken. Dit wordt echter doorgevoerd tot in het extreme. Generic structuren worden afgewisseld met reflection en andersom. Het framework kan zomaar gecompileerde componenten inladen, als er maar aan bepaalde conventies voldaan is. Er wordt extreem veel ‘vanzelf’ opgelost en het framework wordt binnen no-time topzwaar en onoverzichtelijk.

Symptomen
(Extreem) veel gebruik van reflectie, zeer veel run-time plumbing, extreme ontkoppeling zodat de samenhang niet duidelijk is. Een topzwaar framework dat steeds meer uitzonderingen voor specifieke zaken moet ondersteunen (om het ‘generiek’ te houden). Generieke classes die over-geparameteriseerd specifiek gemaakt worden.

Oplossingen

  • Generiek omzetten naar specifiek.
  • Opdeling in modules die expliciet maken wat ze doen.