Dansk Magisterforening

Programmører, der bander, laver bedre kode

"Udgangspunktet for det her projekt var først og fremmest, at det skulle være sjovt og interessant", fortæller en af forskerne bag. © Illustration: Canva (AI-genereret).

IT Af Martin Ejlertsen
Del artikel:

Kvaliteten af kodning er højere, når programmører bruger bandeord, viser et nyt forskningsstudie. Når vi får lov at vise følelser i arbejdet, højner det kvaliteten, lyder antagelsen

Sgu og for fanden. Det skal der være plads til at bande og vise følelser i arbejde, hvis det skal være af højere kvalitet. I hvert fald hvis man er programmør.

Kvaliteten af programmørers arbejde ser ud til at blive bedre, hvis de bander i kildekoden. Det viser en bacheloropgave, som er skrevet af den tyske studerende Jan Strehmel ved Informatikfakultetet ved Kalsruhe Institute of Technology i Tyskland.

Og resultatet er ret klart, fortæller Jan Strehmel i et interview med Akademikerbladet:

"Under flere forskellige statistiske test fandt vi ud af, at open source-kode, der indeholder bandeord, udviser statistisk signifikant bedre kodekvalitet end open source-kode, der ikke indeholder bandeord", forklarer Jan Strehmel. 

Antagelsen til konklusionen bag det noget opsigtsvækkende forskningsprojektet lyder, at brugen af bandeord udgør en indikator for en dyb følelsesmæssig involvering af programmøren med koden og dens iboende kompleksitet. 'Det giver bedre kode baseret på en grundig, kritisk og dialektisk kodeanalyseproces', står der i projektet.

ORDBOG TIL KODE

API: application programming interface – en applikationsprogrammeringsgrænseflade er en måde, hvorpå to eller flere computerprogrammer kan kommunikere med hinanden. Det er en type softwaregrænseflade, der tilbyder en service til andre stykker software.

Github: Er en udviklerplatform til opbygning og deling af open source-software, der bliver meget brugt i den akademiske verden.

Proxy: En proxyserver er en dedikeret computer eller et softwaresystem, der kører på en computer, der fungerer som mellemled mellem en slutpunktsenhed, såsom en computer, og en anden server, hvorfra en bruger eller klient anmoder om en tjeneste.

Repositories: Er et stort datalager, der samler data normalt fra flere kilder eller segmenter af en virksomhed, uden at dataene nødvendigvis er relateret.

 

Men er der grund til at tro, at programmører viser mere engagement i arbejdet, når de kan bruge bandeord i kodningen?

"Ja, det tror jeg. Hvis du er mere følelsesmæssigt involveret eller knyttet til dit arbejde, er der også grund til at tro, at kvaliteten af arbejdet betyder mere for dig. Når du bander, viser du følelser. Effekten af følelser i arbejdet er nok underbelyst, men jeg tror, at det at kunne vise vrede og følelser er eksempler på netop dette”, siger Alexandros Stamatakis der er professor ved KIT og forskningsgruppeleder ved Heidelberg Instituttet for Teoretiske Studier. Han har superviseret bachelorprojektet i samarbejde med to af hans ph.d.-studerende og Jan Strehmel.

Fra kaffepause til forskningsprojekt

Hvordan kommer man overhovedet på den idé - at forske i brugen af bandeord i programmering?

"Vi havde en kaffepause en dag, hvor en af mine ph.d.-studerende viste os en graf over brugen af bandeord i Linux-operativsystemets kildekode over tid. Det førte til den ret sjove idé: hvorfor ikke se nærmere på, om brugen af bandeord måske kunne korreleres med kodekvalitet eller ej”, forklarer Alexandros Stamatakis.

Professoren fortæller, at hans laboratoriemedlemmer først ikke troede, at han var seriøs.

"Udgangspunktet for det her projekt var først og fremmest, at det skulle være sjovt og interessant. Det skulle munde ud i en bacheloropgave, og på det studieniveau skal det absolut være muligt at eksperimentere og lave noget sjovt, da det ikke skal føre til en artikel i et videnskabeligt tidsskrift”, siger Alexandros Stamatakis og understreger:

"Der skal også være plads og frihed til den slags projekter og sjove forventninger. Forskning skal være ikke så seriøst hele tiden", siger han.

Analyser af open-source kodning

For at undersøge spørgsmålet analyserede den lille forskergruppe over 3800 open source-kodedepoter skrevet i programmeringssproget C, der indeholdt engelske bandeord og over 7600 sådanne lagre, der ikke indeholdt bandeord fra GitHub-platformen.

"Vores første spørgsmål var, hvordan man rent faktisk finder data med bandeord. Vi fandt ud af, at en hurtig vej frem var at bruge Github, fordi søgning i repositories på platformen efter specifikke tekster og ord allerede var implementeret", siger Jan Strehmel.

Github er en udviklerplatform til opbygning og deling af open source-software, der bliver meget brugt i den akademiske verden.

Efterfølgende kvantificerede den lille gruppe overholdelsen af disse Github-lagre til kodningsstandarder, som de fortolker som en proxy for kildekodekvalitet via SoftWipe-værktøjet, der blev udviklet i gruppen.

"SoftWipe-værktøjet, som også er open source-kode, spytter automatisk et tal ud for kvaliteten af den analyserede kilde. 10 er den bedste score og 0 er den dårligste. Vi syntes, det ville være fedt at bruge dette værktøj, så det gjorde vi”, siger Alexandros Stamatakis.

Han forklarer, kodekvaliteten for depoter uden bandeord var 5,41 og for depoter med bandeord var 5,87. "Det ser ikke ud af meget, men det er en væsentlig forskel".

}