Nivå och poängvärde: | B 80 |
---|---|
Kort beskrivning: | Vi skapar en klass för att beskriva nätauktioner. |
Vad vi lär oss: | Att skapa en klass från grunden, mera övning av att använda variabler och skapa algoritmer. |
Frihet i implementationen: | Medel. Programmets allmänna struktur och själva problemet är noggrannt utstakade, men själva lösningen kan och bör man hitta på helt själv. |
Realism: | Tämligen hög. Här försöker man skapa en klass enligt en viss specifikation, som är väldigt typiskt också i arbetslivet. |
Utmaning: | Medel. Implementationen av uppgiftens metoder kräver lite mera tankearbete än tidigare för att auktionerna ska löpa felfritt. |
Arbetsmängd: | Medel. De flesta borde klara sig under 4 timmar och många under 3 timmar. |
Skapa klassen EnglishAuction
enligt den givna dokumentationen. Klassen Bid
finns färdigskriven; använd den som hjälp när ni skapar klassen EnglishAuction
. Skapa en huvudmodul för testningsändamål, som ser till att er EnglishAuction
-implementation fungerar. Placera huvudmodulen i paketet src.auction.english
.
Lämna in english_auction.py
och huvudmodulen english_auction_test.py
i Goblin.
EnglishAuction
-dokumentationen. Om ni inte har en klar bild av hela processen, är det väldigt smärtsamt att producera
fungerande Python-kod. (Det kanske låter dumt att man i en programmeringskurs måste lägga ner tid på att lära sig ett auktionssystem,
men det här är de facto en väldigt realistisk situation. Även professionella programmerare tvingas öda mycket tid på att förstå
det ämnesområde som programmen behandlar (en s.k. problemdomän (problem domain eller bara domain))).
EnglishAuction
-klassen. I samband med skrivandet av EnglishAuction
-koden är det bra att bit för bit arbeta på startmetoden som ni använder för testning. Skrivandet av klassen och testmetoden borde ske mer eller mindre tillika, för att saker och ting hålls under kontroll. Alltid när ni skapar en ny metod i EnglishAuction
är det rekommenderat att lägga till lite testningskod i startmetoden. Glöm såklart inte heller att sedan exekvera testprogrammet så att ni vet att det verkligen fungerar!