Dette indlæg er alene udtryk for skribentens egen holdning.

Lad mig gentage, at man ikke skal gentage sig selv

24. juni 2013 kl. 21:542
Artiklen er ældre end 30 dage
Manglende links i teksten kan sandsynligvis findes i bunden af artiklen.

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).

Artiklen fortsætter efter annoncen

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.

2 kommentarer.  Hop til debatten
Denne artikel er gratis...

...men det er dyrt at lave god journalistik. Derfor beder vi dig overveje at tegne abonnement på Version2.

Digitaliseringen buldrer derudaf, og it-folkene tegner fremtidens Danmark. Derfor er det vigtigere end nogensinde med et kvalificeret bud på, hvordan it bedst kan være med til at udvikle det danske samfund og erhvervsliv.

Og der har aldrig været mere akut brug for en kritisk vagthund, der råber op, når der tages forkerte it-beslutninger.

Den rolle har Version2 indtaget siden 2006 - og det bliver vi ved med.

Debatten
Log ind eller opret en bruger for at deltage i debatten.
settingsDebatindstillinger
2
25. juni 2013 kl. 12:25

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.

1
25. juni 2013 kl. 12:19

Pragmatic Programmers blev ikke kun skrevet af Dave Thomas, men også af Andrew Hunt. Bare for en ordens skyld.