Gæstebloggen

Det er for indviklet!

Det er altid let at pege på problemer og klage over, hvor meget verden er af lave. Det bringer os bare ikke ret meget videre. Men hvis flere klager over de samme ting, kan det jo være der er noget om det. Det gælder også indenfor software.

På GOTO-konferencen ser der ud til at være en tråd igennem flere indlæg i sporet 'Entertaining Rants'. Indlæggene er ellers temmeligt forskellige. Et handlede om slam (se tidligere blogindlæg), et andet om modellering, et om frameworks, og eet prøvede vist at dække alting på en time. Men et aspekt, der gik igen, var 'kompleksitet'.

Som softwareudviklere bygger vi løsninger på mere og mere komplekse problemer. Den kompleksitet kan vi ikke reducere (uden at tage en virkelig dyb snak med kunden ' og det er de færreste leverandører, der påtager sig den opgave, det kunne let koste en god ordre). Men undervejs bliver der lavet en underskov af større og mindre 'nyttige stumper', værktøjer og (af og til) programmeringssprog. Det bliver gjort i et forsøg på at gøre arbejdet lettere, men virker det' Måske noget bliver lettere, men hvor mange problemer skabes der på vejen? Det blev mere end antydet, at regnestykket ikke går op.

Kompleksitet er jo ikke noget, vi som udviklere sådan viger tilbage for. Der er jo noget, der hedder en intellektuel udfordring. Der er een, der engang har formuleret det sådan: 'Det er sjovere at skrive en compiler end et almindeligt program.' Men er det den hurtigste og simpleste måde at løse det forhåndenværende problem på' Nok ikke i det tilfælde, men hvad skal man så tænke om 'det jeg sidder her og laver, det er da bare eet eksempel på noget helt generelt, så jeg må hellere lave et interface og et par hjælpeklasser med det samme, så er det lettere næste gang'. En sympatisk tanke ' hvis altså der nogensinde kommer en 'næste gang'. Faktisk er en af mine opgaver for tiden at simplificere vores kodebase ved at fjerne den slags overflødige abstraktioner. Det er ikke klogt at ekstrapolere ud fra eet punkt. Det eneste, der er værre, er at ekstrapolere ud fra nul punkter ![Eksternt billede](http://www.version2.dk/uploads/smil3dbd4d6422f04.gif" alt=")

Softwareudviklere er problemløsere, og det er svært at holde sig fra lige at komme med en god løsning på et lækkert lille problem. Men summen af alle de løsninger kan vise sig at blive et endnu større problem. Der er grund til at vurdere hele tiden om man reelt simplificerer, eller om man bare komplicerer tingene.

Kommentarer (1)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
#1 Nicolai Møller-Andersen

Endelig en praktiker, der taler ud. Og hvad siger han så? KISS! Ovenstående siges alt for sjældent. Der er masser af såkaldt leverpostejskodning ude i landet, og det er superlækkert at lave fede detaljer og abstraktioner. Det er bare ikke nødvendigvis med til at blive færdig før tiden. Uhh, hvor er der mange dybe og komplicerede klassehierakier derude, som kunne have været lavet som et par simple funktionskald. Extrapolere fra eet eller færre punkter! Spot on. Tak.

  • 0
  • 0
Log ind eller Opret konto for at kommentere