Lad mig gentage, at man ikke skal gentage sig selv

Til karate i fredags mindede min træner os om, at en japansk gæsteinstruktør i foråret forsøgte at indprente princippet “Don’t repeat yourself” og bad os om at forklare dette princip nærmere. Det er jo svært ikke at tænke på Dave Thomas, der formulerede et - i øvrigt glimrende - princip med samme ordlyd i bogen The Pragmatic Programmer med betydningen, at det gælder om at undgå duplikeret information af enhver slags, herunder ikke mindst kode.

Det var dog ikke lige denne betydning, den japanske karateinstruktør havde tænkt på; næ, han var derimod ude efter, at vi kontinuerligt i vores træning skulle arbejde på at forbedre os - ikke bare bevidstløst gøre det samme om og om igen, men altid lige prøve at rykke sit niveau en lille smule op. Kan vi ikke gøre det bare lidt bedre? - et godt Nyrupsk ideal.

Hartley Brody skrev for nyligt et blogindlæg, hvori han citerer David Moshers definition af hackere, udviklere og ingeniører:

  • En hacker prøver sig frem og finder en løsning uden at kunne forklare hvordan eller hvorfor.

  • En udvikler kender til best practices og anvender disse i at komme frem til en løsning, men ved ikke hvorfor noget er en best practice.

  • En ingeniør har en helhedsforståelse, som også sætter ham/hende i stand til at forklare den dybereliggende årsag til, at fremgangsmåderne er valgt.

Terminologien holder måske ikke helt vand i forhold til dagligt sprogbrug, hvor udviklere og softwareingeniører ofte bruges som synonymer, og ordet hacker kan have flere forskellige betydninger, alt efter om man taler om elektroniske indbrud eller en flok glade unge mennesker til LAN-party (eller wifi party, eller hvad man holder nu om dage).

Men der er et element af tanken, som efter min mening er rigtig; nemlig tanken om, at man som en person, der beskæftiger sig med at fremstille software, bør bevæge sig igennem en faglig progression. Fra at kunne flikke noget sammen, der “tilfældigvis” virker og til at suge egne og andres erfaringer til sig, og endelig få et bredere perspektiv på de valgte teknologier og tilgange.

Pyh, når jeg tænker tilbage på noget af de håbløse kode, jeg fik lavet som JavaScript-"hacker" i midt-90’erne, så er det vist meget godt, at jeg fik nogle tunge bøger i hovedet på studiet og mødte nogle dygtige og hjælpsomme kolleger, der kunne bringe mig ud af vildfarelsen om, at jeg var en pokkers karl (m/k).

Så lad mig lige gentage... husk at lade være med at gentage dig selv.

Kommentarer (2)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Peter Mortensen

Hvis det er høj-komplekse problemstillinger man arbejder med, er det tit, at man først opdager/erkender, at man har gentaget sig selv, efter at man har gentaget sig selv.

I værste fald kan sådanne erkendelser betyde omfattende refactoring af hele ens kodebase, og nogle vælger derfor bevidst - desværre - at "overse" sådanne erkendelser.

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