Legacy Code

reengineren of migreren?

Reengineeren

Reengineeren is vaak een complex probleem. Als er een simpele oplossing zou zijn, zou die hoogstwaarschijnlijk al toegepast zijn. Een eerste vraag is of er voldoende zicht op het systeem is, om goed te kunnen sturen.

Om de structuur van een softwaresysteem te kunnen verbeteren, helpt het dan ook om deze te visualiseren. Software is uit zichzelf niet erg transparant, en problemen kunnen lang verborgen blijven, of zich alleen indirect laten zien.

Een eerste stap is het meten van de hoeveelheid duplicatie die voorkomt in de code, en de afhankelijkheden tussen de verschillende delen inzichtelijk te maken. Bij object-georĂ¯enteerde systemen is verder een redelijk gelijkmatige verdeling van de functionaliteit over de objecten (klassen) gewenst.