Temauppgift 6
Temauppgift 6 består av två delar. Delarna finns på separata sidor. Använd länkarna nedan.
Redovisning, inlämning och kompletteringar
- Allmän information om den muntliga redovisningen, samt eventuella kompletteringar kan ni läsa om sidan Redovisning.
- Ni får antingen 1 poäng, 3 poäng eller Komplettering på inlämningar som hör ihop med temauppgift 4-6. Vid Komplettering får ni instruktioner om vad som ska kompletteras.
Att redovisa
- Demonstrera testet av Del 1, Uppgift 2 och förklara hur er metod
__str__()
i klassenPerson
fungerar. - Demonstrera att ert att-göra-lista-program från Del 2 fungerar som det ska.
- Förklara skillnaden mellan klasser och instanser och exemplifiera med hjälp av koden ni skrivit till Temauppgift 6.
- Förklara vilket syfte som argumentet
self
har i en metod. - Om ni siktar på 3 poäng, gå också igenom 3 poängs-delen för Del 2 (inklusive ev. uppdaterat klassdiagram).
Poäng
För 1 poäng på Temauppgift 6 ska följande göras:
- Del 1: alla uppgifter
- Del 2: att-göra-program som uppfyller funktionalitetskraven och klassbeskrivningarna.
- Koden ska följa Kod- och kommentarskraven
För 3 poäng på Temauppgift 6 ska följande göras:
- Del 1: alla uppgifter
- Del 2: att-göra-program som uppfyller funktionalitetskraven och klassbeskrivningarna.
- Del 2: minst en utökning ska implementeras
- Koden ska följa Kod- och kommentarskraven.
Uppgiftsnivåer och betyg
Se avsnittet om LAB2 på sidan Examination & Deadlines för information om kraven för att få VG på kursmomentet LAB2 (Temauppgift 4-6). Se avsnittet om att uppgradera temauppgiftsbedömning på sidan Examination & Deadlines om ni vill uppgradera bedömningen.
Kod- och kommentarskrav
PEP8 och PEP257
All kod ska följa kodstandarderna [PEP 8][pep8], samt [PEP 257][pep257] och kontrolleras med programmen pycodestyle
och pep257
(aktivera rätt virtuell miljö, se Tips: Kontrollera PEP 8 och PEP 257).
Era funktionskommentarer ska följa PEP257 och vara på den nivån att de inte beskriver explicita implementationsdetaljer.
En bra funktionskommentar består av en kärnfull mening på en rad, som beskriver resultatet av att använda funktionen och vad den returnerar om den gör det. Vid behov beskrivs funktionens argument på efterföljande rader i funktionskommentaren.
Variabler och kommentarer i kod
- Inga variabelnamn får bestå av endast en enskild bokstav.
- Alla satser som består av fler än en rad ska ha en tillhörande kommentar. Dvs
if
-satser, loopar, funktioner och metoder. Kommentaren ska inte vara en “innantilläsning” av koden den hör till. Använd rätt kommentarsmarkering (t.ex."""
för funktions- metodkommentarer,#
för kommentarer i löpande kod, se PEP8 och PEP257). - Minimera användningen av hårdkodade siffror, använd istället variabler med förklarande namn.
Se exempel tillhörande Temauppgift 5.
Dela upp kod vid behov
- Dela upp er kod i delfunktioner/delmetoder vid behov:
- när ni stöter på kod som ni upprepar, bryt ut koden (lägg koden i en funktion/metod)
- skicka nödvändig information som argument till funktionen och låt den returnera eventuellt resultat, använd inte globala variabler
- dela även upp er kod i fler funktioner/metoder när den blir för lång
Som tumregler, försök att se till att era funktioner/metoder
- endast gör en sak
- inte är längre än 15 rader (gärna kortare) exklusive kommentarer
Använd __str__()
på rätt sätt
- Se till att använda metoden
__str__()
på rätt sätt, dvs att om en instans av en klass t.ex. ska skrivas ut, så ska klassen implementera__str__()
och den ska användas.
När Python ska konvertera ett icke-strängobjekt till en sträng använder Python metoden __str__()
. Metoden används t.ex. när man skriver ut ett objekt med print
, eller när en explicit konvertering till en sträng efterfrågas.
|
|
Sidansvarig: Johan Falkenjack
Senast uppdaterad: 2024-07-26