Meer informatie Ja, ik geef toestemming
Door Robert Horsmans Leestijd 6 min.

Software herbouwen of refactoring - wanneer en waarom?

Net als een huis vraagt software om onderhoud. Soms is een kleine opknapbeurt voldoende, soms is een complete renovatie noodzakelijk. Wanneer en waarom kies je voor refactoring van code? En wanneer voor het volledig herbouwen of nabouwen van een applicatie?

Code smells

Zogenaamde code smells zijn vaak een teken dat de software toe is aan verbetering Er is bijvoorbeeld sprake van duplicate code, functies met te veel regels, er is niet geprogrammeerd volgens de geldende standaarden, of de architectuur zit niet slim in elkaar.

Code smells zorgen misschien niet meteen voor grote problemen in het functioneren van de software maar onnodig complexe of moeilijk leesbare code maakt onderhoud en verdere ontwikkeling van de applicatie lastiger en tijdrovend. En voor developers vaak ook gewoon vervelend. Tijd voor refactoring!

Refactoring van code

Bij refactoring wordt de bestaande broncode (in delen) geherstructureerd volgens geldende technische codestandaarden. Er wordt geen functionaliteit toegevoegd. De leesbaarheid verbetert, onderhoud wordt eenvoudiger en het komt de veiligheid ten goede.

Minstens zo belangrijk is dat developers makkelijker samen aan de code kunnen werken en dat het een goede voorbereiding is op de toekomst. Op het moment dat er behoefte is aan nieuwe functionaliteit verloopt de softwareontwikkeling sneller.

 

Herbouwen of nabouwen van software

Om de vergelijking met een huis door te trekken: bij refactoring wordt de woning deels gerenoveerd, maar het grootste deel blijft gewoon staan. Bij herbouw wordt het huis afgebroken en bouw je het helemaal opnieuw op. Je herschrijft de applicatie volledig.

Geen kleine ingreep dus, maar absoluut noodzakelijk wanneer de software echt verouderd is, trager wordt en er is sprake is van (steeds) terugkerende bugs. De belangrijkste reden om te kiezen voor herbouwen of nabouwen is dat je organisatie op een gegeven moment meer gehinderd dan geholpen wordt door een applicatie.

Opschalen of extra functionaliteit toevoegen blijkt een probleem te worden, slimme koppelingen met externe systemen is lastig of onmogelijk, en de applicatie is niet geschikt voor gebruik op meerdere devices. Daarnaast heb je door het ontbreken van een realtime dashboard geen echte grip op je organisatie. Zulke problemen zijn met refactoring gewoonweg niet op te lossen.

Way2Web eventstorming groep header

Voordelen van refactoring code

  • Aanpassingen in kleinere stappen
  • Geen grote investering noodzakelijk
  • Onderhoud eenvoudiger
  • Code beter leesbaar en deelbaar
  • Verbeterde veiligheid

Voordelen software herbouwen

  • Verbeterde snelheid en schaalbaarheid
  • Veiligheid volgens de laatste standaarden
  • Realtime dashboards voor betere sturing
  • Goed onderhoudbaar en uitbreidbaar: toekomstbestendig
  • Probleemloos koppelen met andere systemen en apps
  • Software geschikt voor alle devices

Over backend, frontend en database

Refactoring betreft uitsluitend code in de backend van software. En ook bij het herbouwen of nabouwen laat men database en frontend in principe ongemoeid. Het voordeel van een ongewijzigd frontend waar gebruikers (vaak al jaren) aan gewend zijn is dat de overgang probleemloos verloopt. Nieuwe instructies of een ‘gewen-fase’ zijn niet nodig.

Wat is nu de beste keus? Refactoring, herbouwen of een volledig nieuwe softwareoplossing op maat laten maken? Een applicatie assessment biedt uitkomst.

Met de geavanceerde PhpMetrics tool analyseren we de software. Deze tool genereert goed leesbare, toegankelijke rapportages over onder meer de kwaliteit, complexiteit en onderhoudbaarheid van de broncode.

Daarnaast is het vaak slim om ook naar het doel van de applicatie en de businesscase te kijken. We willen uw applicatie tenslotte weer toekomstbestendig maken en uw organisatie een flinke impuls geven.

Bent u klaar voor the next level?

De digitale transformatie biedt fantastische nieuwe mogelijkheden en kansen. Ook voor uw onderneming, dat weet ik zeker. Als IT-specialist én ondernemer praat ik daar graag eens met u over verder. Geheel vrijblijvend natuurlijk. Zullen we een afspraak maken?