Vad är refaktorisering?

Kortfattat skulle refaktorisering kunna beskrivas som att man skriver om kod till att göra samma sak som tidigare. Att lägga tid på att skriva om något som redan fungerar låter inte speciellt positivt ur ett kostnadsperspektiv. Men refaktorisering är viktig och innebär så mycket mer än att bara skriva om.

Programmering är ett hantverk som styrs av tid, kunskap och erfarenhet

Programmering är ett hantverk och kan på samma sätt som vilket annat hantverk som helst resultera i bättre och sämre kvalite. Kvaliteten beror på flera faktorer där tid, kunskap och erfarenhet kan vara faktorer med högst påverkan. Ibland kan tidsbrist innebära att man får göra kompromisser i koden och begränsade kunskaper och erfarenhet kan ge dålig eller slarvigt utförd kod.

En bra arkitektur bäddar för att enklare få in ny funktionalitet i befintliga system

Många system utvecklas kontinuerligt, allt ifrån att nya funktioner läggs till eller befintliga ändras  till rena buggfixar. Oavsett om det är felsökning för en rättning som ska göras eller en ändring som ska implementeras så är det tidsbesparande om den befintliga koden är bra strukturerad, välskriven och genomtänkt, vilket gör det enklare att hitta och förstå. En bra arkitektur bäddar också för att enklare få in ny funktionalitet som passar i det befintliga systemet på ett snyggt sätt.

Städa upp och förbättra kod med en rad fördelar som resultat

Så vad innebär då refaktorisering? Refaktorisering görs kontinuerligt och innebär att man städar upp och förbättrar koden då man ser en vinst i ökad tydlighet, förbättrad arkitektur för kommande uppdateringar, minskad onödig komplexitet och ökad stabilitet. Dessa små och återkommande åtgärder är en mycket viktig del för att kostnad för underhåll eller uppdateringar inte ska öka då komplexiteten växer när nya funktioner implementeras.

Har du frågor om kod, programmering eller annat inom systemutveckling? Hör av dig till mig! I min tidigare artikel berättar jag om flexible design vs statisk design, läs den gärna.

  • Solution Architect

Jag tycker det är både intressant och roligt att få lov att bena ut det bästa sättet att bygga ett system för att uppnå den bästa affärsnyttan, mest stabila och skalbara lösningen utifrån kundens behov och budget. Även om teknik och programmering upptar mycket av min arbetstid är det viktigt för mig att de val man gör alltid utgår från hur systemet skall användas och fungera, inte tvärtom.

Lämna en kommentar

E-postadressen publiceras inte. Obligatoriska fält är märkta *