Do Developers Read Type Information? An Eye-Tracking Study on TypeScript
Deze eye-tracking studie waarbij 26 bachelorstudenten betrokken waren, onthult dat ontwikkelaars niet direct vaker naar type annotaties kijken tijdens taken voor codebegrip of foutlokalisatie in TypeScript, wat suggereert dat hoewel types als documentatie kunnen dienen, ze niet actief worden gelezen op de wijze die eerder werd verondersteld.
Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer
Stel je voor dat je een kookboek leest. Sommige recepten hebben kleine plaknotities bij de ingrediëntenlijst met "2 kopjes bloem" of "kip, zonder bot". Deze notities zijn als type-annotaties in computercode. Ze vertellen de programmeur (de kok) precies wat voor soort data (ingrediënt) er wordt gebruikt.
Jarenlang hebben experts geloofd dat deze "plaknotities" fungeren als een ingebouwde handleiding. De theorie is dat wanneer een programmeur vastloopt of een recept probeert te begrijpen, ze naar deze notities kijken om zichzelf te helpen.
De Grote Vraag:
Kijken programmeurs daadwerkelijk naar deze notities wanneer ze code lezen, of negeren ze ze gewoon?
Om dit te ontdekken, hebben de onderzoekers in dit artikel een "keuken"-experiment opgezet. Ze hebben niet alleen aan programmeurs gevraagd wat ze dachten te doen; ze gebruikten eye-tracking brillen (zoals high-tech brillen die precies registreren waar je ogen naar kijken) om 22 studenten te observeren terwijl ze probeerden code te begrijpen en fouten (bugs) in die code te vinden.
Hier is wat zij ontdekten, onderverdeeld in eenvoudige concepten:
1. Het "Ghost Note" Fenomeen
De Verwachting: Als de plaknotities nuttig zijn, zouden mensen er vaak naar moeten kijken, vooral wanneer ze in de war zijn.
De Realiteit: De eye-tracking data lieten zien dat programmeurs de type-annotaties nauwelijks bekeken.
- De Analogie: Het is alsof je een kaart hebt met een felrode sticker "U bent hier", maar de bestuurder blijft naar de weg en het GPS-scherm staren en negeert de sticker volledig. Zelfs toen de notities aanwezig waren, keken de programmeurs niet vaker naar de notities dan wanneer de notities ontbraken.
- De Bevinding: De aanwezigheid van deze notities veranderde de manier waarop de programmeurs de code lazen niet. Ze keken niet vaker naar de notities en ze gingen ook niet terug om ze opnieuw te lezen wanneer ze vastliepen.
2. De "Geheugen" Test
De Verwachting: Misschien dienen de notities als geheugensteuntje? Als een programmeur veel dingen moet onthouden (hoog werkgeheugen), gebruiken ze de notities misschien minder omdat ze de informatie in hun hoofd kunnen houden. Als ze moeite hebben met onthouden, vertrouwen ze misschien meer op de notities.
De Realiteit: De onderzoekers testten het geheugen van de studenten (door bijvoorbeeld een lijst met letters te laten onthouden terwijl ze sommen maakten).
- De Bevinding: Het maakte er eigenlijk niet toe hoe goed hun geheugen was. Of ze nu een "supergeheugen" hadden of een "normaal geheugen", ze keken nog steeds niet significant meer of minder naar de type-notities. De notities leken niet te dienen als een hulpmiddel voor hun geheugen op de manier waarop de onderzoekers hoopten.
3. De "Het Hangt Af van het Recept" Factor
De Bevinding: Het belangrijkste dat de manier waarop de programmeurs de code lazen veranderde, was niet de notities; het was de code zelf.
- De Analogie: Sommige recepten zijn gewoon makkelijker te lezen dan andere. Als een recept rommelig of verwarrend is, staart de kok er langer naar. Als het duidelijk is, gaat de kok er razendsnel doorheen. De onderzoekers ontdekten dat de specifieke stuk code veel belangrijker was dan of er "plaknotities" op stonden. Sommige code was gewoon moeilijker te begrijpen, ongeacht de annotaties.
4. De "Ik Hou van Notities" Paradox
De Twist: Na het experiment vroegen de onderzoekers de studenten: "Vind je deze plaknotities leuk?"
- Het Resultaat: De studenten zeiden JA! Ze vonden het overwegend dat type-annotaties nuttig zijn voor het schrijven van code en het begrijpen ervan. Ze denken dat ze nuttig zijn.
- De Paradox: Dit is het verwarrende deel. De studenten zeggen dat de notities geweldig zijn, maar hun ogen bewijzen dat ze er niet naar kijken. Het is also als zeggen: "Ik hou ervan om het etiket met voedingswaarden te lezen," maar het dan nooit echt te bekijken wanneer je de ontbijtgranen koopt.
Wat Betekent Dit?
Het artikel concludeert dat hoewel programmeurs geloven dat type-annotaties werken als nuttige in-code documentatie, ze ze niet echt lezen op de manier die we zouden verwachten. Ze staren er niet naar, en ze gaan ook niet terug naar de notities wanneer ze vastlopen.
Wie moet dit weten?
- Tool Builders (Tool-bouwers): Als programmeurs de notities niet bekijken, moeten de tools (zoals de software-editors die ze gebruiken) deze informatie misschien op een andere, meer opvallende manier tonen, in plaats van het alleen maar op het scherm te printen.
- Docenten: Als studenten de notities niet lezen, moeten docenten misschien leren hoe ze de code moeten lezen en deze informatie moeten gebruiken, in plaats van er simpelweg vanuit te gaan dat ze dit vanzelf oppikken.
- De Gemeenschap: Het suggereert dat het simpelweg toevoegen van deze notities aan de code geen magische oplossing is voor begrip; de notities moeten op een specifieke manier worden gebruikt die we nog niet helemaal begrijpen.
Kortom: Programmeurs houden van het idee van type-annotaties, maar in de praktijk vertelt hun oog een ander verhaal: ze negeren ze grotendeels.
Verdrinkt u in papers in uw vakgebied?
Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.