Hem Utveckling Vad är teknisk skuld? - definition från techopedia

Vad är teknisk skuld? - definition från techopedia

Innehållsförteckning:

Anonim

Definition - Vad betyder teknisk skuld?

Teknisk skuld är ett koncept i programmering som återspeglar det extra utvecklingsarbetet som uppstår när kod som är lätt att implementera på kort sikt används istället för att tillämpa den bästa övergripande lösningen.

Teknisk skuld är ofta förknippad med extrem programmering, särskilt i samband med refactoring. Det innebär att det krävs omstrukturering av befintlig kod (refactoring) som en del av utvecklingsprocessen. Under denna linje av tänkande är refactoring inte bara ett resultat av dåligt skriven kod, utan görs också baserat på en växande förståelse av ett problem och det bästa sättet att lösa problemet.

Teknisk skuld kan också kallas designskuld.

Techopedia förklarar teknisk skuld

Termen myntades av Ward Cunningham, en programmerare som också är känd för att utveckla den första wiki. Teknisk skuld är en metafor som liknar programvaruutveckling med finansiell skuld. Föreställ dig att du har ett projekt som har två potentiella alternativ. En är snabb och enkel men kommer att kräva modifiering i framtiden. Den andra har en bättre design, men tar mer tid att implementera. När det gäller utveckling är att släppa kod som en snabb och enkel metod som att drabbas av skuld - det kommer med ränteförpliktelsen, som för teknisk skuld kommer i form av extra arbete i framtiden. Att ta sig tid till refaktor motsvarar betalning av huvudstol. Även om detta tar tid på kort sikt, minskar det också framtida räntebetalningar.

Ward Cunningham beskriver detta koncept 1992 på följande sätt:

"Fraktkod för första gången är som att gå in i skuld. Lite skuld snabbar utvecklingen så länge den betalas tillbaka med en omskrivning. Objekt gör kostnaden för denna transaktion acceptabel. Faren uppstår när skulden inte återbetalas. Varje minut spenderas på inte helt rätt kod räknas som ränta på den skulden. Hela ingenjörsorganisationer kan bringas till en stillastående under skuldbelastningen för en okonsoliderad implementering, objektorienterad eller på annat sätt. "

Konceptet betyder inte att skuld aldrig ska uppstå. Precis som hävstångseffekten kan hjälpa ett företag när det används korrekt, kan en snabb lösning innebära en snabbare tid att marknadsföra inom mjukvaruutveckling. Dessutom är teknisk skuld inte bara dålig kod. Dålig kod är dålig kod, och teknisk skuld kan vara resultatet av goda programmerares arbete under orealistiska projektbegränsningar.

Vad är teknisk skuld? - definition från techopedia