Felsökning
Denna uppgift är en övning i att felsöka pythonkod.
I kurskatalogen /courses/729G46/kursmaterial/temauppg2/
finns en fil not_quite_right.py
. Om du inte kan komma åt filsystemet på LiU kan du ladda ner en zippad version av katalogen. Personen som har skrivit koden har inte testat sin kod, och den innehåller ett antal fel och buggar. Hen har inte heller kommenterat sin kod alls. Er uppgift är att gå igenom koden, testa den, identifiera och fixa de buggar som finns samt att klura ut vad det är tänkt att den ska göra, lägga till kommentarer och ändra namn så att koden är lättare att förstå.
Det kommer finnas flera typer av fel. Vissa av felen kommer python säga till om direkt (syntaxfel), andra fel kommer att krasha programmet medan det körs (runtimefel), och andra kommer inte att krasha alls, utan bara ge oväntade/fel resultat (logiska fel). Det räcker med andra ord inte med att ni bara kör koden tills den inte krashar längre, utan ni behöver klura ut vad det är menat att funktionen ska göra, och se till att den gör det. Var inte rädda för att lägga till, ta bort, byta namn på eller ändra delar av koden.
Ni får anta att det som funktionen tar in som argument är en lista som kan innehålla antingen andra listor eller värden, och alla värden (i både den yttre och de inre listorna) är av samma typ. En del av uppgiften är att komma på vilka listor som ska skickas in till funktionen för att testa den ordentligt. Tänk på vilka listor som utgör gränsfall och som kanske funktionen har svårt att hantera och testa med dem.
Notera de fel ni hittar i koden och rätta till dem. Lägg till beskrivande kommentarer för vad de olika delarna av funktionen gör, och ge funktionen ett nytt, mer beskrivande namn som motsvarar er uppfattning av vad den gör.
Redovisning
- Varje pargrupp har max 5 minuter till sitt förfogande att redovisa uppgiften.
- Det är viktigt att alla medlemmar i gruppen är aktiva. Man har bara redovisat om man varit aktiv under redovisningen.
- Det räcker inte att ni säger att ni har fixat buggar eller att läsa koden/kommentarer rad för rad, ni måste kunna visa och förklara vad som var fel, varför det var fel, vad ni gjort för att åtgärda det och vad det betyder för koden i sin helhet.
- Efter redovisningen eller att 5 minuter gått, kommer läraren att ställa eventuella frågor om det är något som hon eller han tyckt varit oklart eller felaktigt och ni har möjlighet att reda ut eventuella oklarheter. Läraren har av tidsskäl inte möjlighet att ställa hur många frågor som helst.
- Om läraren efter att ha ställt frågor bedömmer att målen inte uppnåtts kommer komplettering att krävas.
Sidansvarig: Johan Falkenjack
Senast uppdaterad: 2025-09-22