Blog

Genbrug din kildekode og spar tid

Læs om, hvor det giver mening at kopiere kildekoden

  • API
  • Brugersystem
  • Komponenter

23.01.2020

Sune Hagen Nielsen

Når man går fra projekt til projekt, kan man ofte opleve at gentage sig selv. Uanset om det er softwareudvikling, bygningskonstruktion eller madlavning, vil der være ting, man skal lave igen og igen.

De fleste byggerier involverer støbning af et fundament og mange madretter benytter samme fond. I softwareudvikling er der også komponenter, som går igen. Her har man bare en markant fordel.

Kopiering

Eftersom kildekode består af digitale filer, kan det kopieres uden nævneværdig indsats. Hvis det var muligt at kopiere et fundament til et hus på få sekunder, ville det give en enorm besparelse. Men det er kun relevant, hvis man skal bygge det samme hus igen. De fleste bygninger er forskellige, så derfor vil der også være forskellige krav til deres fundament. Kopieringsprocessen skal således følges op med tilpasning.

Tilpasning

Hvis man for eksempel skal bruge en knap, kan man kopiere en tilsvarende knap fra et tidligere projekt. Men i det tidligere projekt var den blå med runde hjørner. I det nye projekt kræves en rød knap med skarpe hjørner og en skygge. Der skal derfor ændres i, hvordan knappen tegnes. Den bagvedliggende funktionalitet, som definerer, hvordan en knap fungerer, kan dog bibeholdes.

Hvad kopierer vi?

Eksemplet med knappen er meget forsimplet, og blot at genbruge en knap, vil kun give en lille gevinst. Der er dog masser af områder, hvor det giver mere værdi.

API

I kommunikation mellem server og klient, bygger vi et API. Helt præcis hvad der bliver kommunikeret og hvilken effekt det har, er specifikt fra projekt til projekt. Der er dog en forholdsvis omfattende grundstruktur omkring sådan et API, både på server og klient. Det giver sjældent mening at skrive det helt fra bunden hver gang.

Brugersystem

Mange løsninger har et brugersystem. Med få undtagelser ligner disse hinanden 1:1.

Der er en database med brugernavn, kodeord, e-mailadresse og så videre. Her er typisk en funktion, som kan hjælpe, hvis man har glemt sit kodeord. Disse loginformularer findes i mobil- og webapps. Alle disse dele kan der genbruges forholdsvis meget af.

Komponenter

I både mobil- og webapps findes masser af komponenter, lige fra sorterbare lister, til funktioner, der kommunikerer via Bluetooth eller aflæser GPS-lokationer. Der er ikke nogen grund til at bygge disse forfra hver gang.

Fordele ved genbrug

Udover tidsbesparelse, er der også andre fordele ved at tage udgangspunkt i noget, man tidligere har lavet. Det, man genbruger, har nemlig allerede bevist, at det virker og er stabilt. Da man oprindeligt lavede det, rettede man måske nogle specielle grænsetilfælde, som krævede særlig behandling. Ved genbrug får man automatisk rettelserne med. Og så er det som regel billigere at lave en ny “ dyb tallerken”, end at genopfinde den igen.

Husk opdatering hele vejen rundt

Genbrug er som udgangspunkt godt både for kvalitet og budget. Der er dog en ting, man skal være opmærksom på. Det, man kopierer, er muligvis blevet forældet.

De platforme/frameworks, man arbejder op imod, udvikler sig også. Der kommer af og til nye udgaver, som gør nogle ting på en anden måde. Der bliver stillet nye metoder til rådighed, som er bedre end de gamle.

Det er vigtigt at holde sig opdateret, så man ved, om det, man genbruger, har brug for fornyelse. Hvis man fortsætter med at benytte forældede frameworks, opbygger man en teknisk gæld, der kan blive dyr at indfri.

Sunes emner

Sune har mange års erfaring med udvikling og han deler gerne ud af sin viden, så du kan gavn af den. Du kan se nogle af hans blogindlæg her.

28.05.2020

Appens potentiale

Med en app kan man kan opfylde nogle behov, som ikke kan lade sig gøre i telefonens browser eller med et program på en computer.

24.11.2021

Har du husket at føre tilsyn med dine databehandlere?

Som dataansvarlig har du et ansvar for, at sikkerheden omkring personoplysningerne er på plads.

04.10.2019

Native eller cross platform apps?

Sådan vælger du den rette platform til din appudvikling