Herhaling debuggen
Op deze pagina ga je herhalen wat je geleerd hebt over debuggen in Snap!
Debuggen is het identificeren en oplossen van fouten in computerprogramma's.
Men sprak waarschijnlijk al lang geleden over fouten als 'bugs', zoals wanneer insecten storingen gaven op de radar tijdens de
Tweede Wereldoorlog. Sommige bronnen gaan zelfs terug tot de
middeleeuwen.
Hieronder een mooi gedocumenteerd voorbeeld van een opgespoorde 'bug' uit 1947: een mot kwam te vast te zitten in het relais van een
computer. Je ziet een pagina uit het notitieboekje van computerpionier
Grace
Hopper, over the 'case of a bug being found', met de mot erbij geplakt:
Tips
- Gooi niet je hele project weg door opnieuw te beginnen.
Dit klinkt vanzelfsprekend als je het leest, maar informatica-studenten worden soms boos op hun
bugs. Onthoud dat als je een programma hebt met twintig blokken code en in één daarvan zit een fout, dat je
programma toch voor zeker 95% correct is.
- Voeg geen code toe om de bug te omzeilen.
Pas zelfs de code niet aan totdat je echt begrijpt waarom het niet doet wat het moet doen. Verwijder dan de fouten, onder het
motto: 'Debug via weghalen, niet door toevoegen.'
- Wees niet te streng tegen jezelf.
Iedereen heeft bugs in zijn programma's; het is een onderdeel van programmeren.
- Reproduceer het probleem zodat je begrijpt hoe het kan ontstaan.
Dit helpt je om te waar te nemen wanneer en waardoor het probleem kan worden opgelost.
- Isoleer het stuk code dat zorgt voor de fout.
Test stukken code apart, zodat je weet wat wel werkt en wat niet.
- Identificeer de specifieke oorzaak van de fout in de code.
Waarom doet de code het fout?
- Test altijd je code met verschillende invoeren.
Wat als de invoer heel groot, nul, negatief of een kommagetal is? Wat als de gebruiker iets typt wat
je niet verwacht? Wat als de gebruiker ergens anders klikt?
-
Omarm je bugs!
Fouten vormen een interessante puzzel. Soms geeft incorrect gedrag inspiratie voor een ander project:
- Welke van deze tips zou jou geholpen hebben bij het debuggen? Kies er één en bespreek je ervaring met je partner.
Snap!-tools om te debuggen en te ordenen
1. Gebruik
om pauzes in je code te plaatsen en op je eigen tempo door de code te gaan.
Zie Hoofdstuk 2 Les 2 Pagina 4
'Mandala-ontwerp'.
2. Gebruik
blokken in Snap
! om
informatie over de staat van je programma te krijgen terwijl het bezig is.
Zie Hoofdstuk 1 Les 3 Pagina 7
'Geometrische ontwerpen'.
3. Gebruik
Stapsgewijs Programmaverloop
om zelf te bepalen hoe snel Snap
! door de blokken van je code gaat.
Zie Hoofdstuk 2 Les 4 Pagina 2
'Fractals.
4. Bekijk de
waarden van variabelen en sprite-eigenschappen. Je kunt deze waarden zichtbaar maken door op een
functie te klikken: de checkbox naast een variabele
of
naast een sprite-eigenschap
in het palet. Het kan ook met behulp
van
.
Zie Hoofdstuk 2 Les 1 Pagina 2
'Debuggen en je Raad-het-getalspel uitbreiden' .
5.
Documenteer je programma met behulp van opmerkingen.
Zie Hoofdstuk 1 Les 3 Pagina 3
'Blokken met invoer' .
6.
Houd je code netjes. Verwijder ongebruikte blokken en gebruik
Snap
! 's opruimen-functie om je code te organiseren.
Zie Hoofdstuk 1 Les 3 Pagina 4
'Pas je molen aan'.
7. Gebruik namen die iets betekenen voor blokken en variabelen.
Sommige programmeurs proberen tijd te besparen door hun variabelen namen te geven zoals
x. Maar als ze dit vergeten en een andere variabele ook x noemen, kunnen bugs
onstaan. Dus, om jouw programma begrijpelijker te maken, en het makkelijker te kunnen debuggen, gebruik je namen
die iets betekenen, zoals horizontal position.
8. Gebruik abstractie door complexiteiten in je code te identificeren en te isoleren tot aparte onderdelen.
Abstractie is een manier van denken: je stopt wat details in één deel van je code en zorgt dat die code werkt, dan kan je dat
als een vertrouwd element gebruiken, net alsof het al in Snap! ingebouwd zat. Op die manier kun je stukjes code één
voor één bouwen en testen, waardoor eventuele bugs automatisch geïsoleerd worden.