Nivå och poängvärde: | A 120 |
---|---|
Kort beskrivning: | Vi skapar en startmetod med vars hjälp vi testar klasser som har med filmstatistik att göra. |
Vad vi lär oss: | Att läsa Epydoc-dokument, skapa en startmodul på ett mera självständigt sätt, att använda objekt returnerade från metoder. |
Frihet i implementationen: | Fortfarande tämligen liten. Dock är instruktionerna inte lika detaljerade den här gången. |
Realism: | Hög. Att använda tjänsterna hos en given klass för att lösa ett intressant(?) problem är en viktig färdighet. Att kunna läsa dokumentation är en extremt viktig färdighet. Programmerare använder ofta färdiga komponenter för att undvika att återuppfinna hjulet varje gång. |
Utmaning: | Inte värst svår, om grundarbetet (de tidigare uppgifterna) har gjorts med eftertanke. |
Arbetsmängd: | Tämligen lätt. De flesta klarar sig på ett par timmar. |
Skapa startmodulen (eller "huvudmodulen"; main module) med vilken du kan provköra de givna klasserna TopMovies
och Movie
. Av dessa är den första en beskrivning av "topplistor" för filmer (t.ex. "Alla tiders Top 250") och den andra beskriver enskilda filmer.
Uppgiften är tudelad:
TopMovies
och Movie
. Ni behöver inte (och ska kanske inte ens försöka) läsa deras programkod, utan använd Epydoc-dokumentationen som beskriver klasserna (mera information nedan). Dylika Epydoc-dokument är ett vanligt sätt att beskriva användandet av Python-klasser och de kommer att användas i nästan alla uppgifter i denna kurs.
movie_test.py
och i den en startmetod. Även denna modul ska placeras i paketet src.moviestat
. Startmetoden bör skapa ett TopMovies
-objekt som beskriver IMDB.com:s Top-250 filmlista. Efter detta ska startmetoden skriva ut följande saker i den ordning de listats, var sak på en egen rad:
Python-klassernas centrala drag beskrivs ofta som s.k. Epydoc-dokument, dvs. webbsidor som skapas automatiskt utgående från kommentarerna som skrivits i Python-koden. Epydoc-dokument används nästan alltid i denna kurs, så det är ytterst viktigt att kunna läsa dem.
I projekten i denna kurs finner ni alltid Epydoc-dokumentationen i undermappen doc/
.
Notera att när ni läser Epydoc-dokument, beskriver de endast klassernas "allmänna delar" -- alltså den information som allmänheten (klassens användare) behöver: Klassens grundidé, dess konstruktor (hur man skapar objekt av klassen) och dess metoder (hur man använder de skapade objekten). Det står ingenting om klassens interna implementation, endast hur den väntas fungera.
Lämna in filen movie_test.py
i Goblin. Om ni behöver hjälp med inlämningen, se kursens Goblin-guide.
TopMovies
använder för sin information är filen imdb_top_250_aug_2006.txt
. Startmetoden måste dock fungera fast någon annan informationskälla används. T.ex. kommer Goblin att testa er kod även med en annan filmlista. När ni skriver ut den tredje informationsraden ska ni därför inte t.ex. anta att varje TopMovies-lista börjar med en film som är publicerad ett visst år...
src.moviestat
finns det även några andra klasser (Create_director_stats
och Movie_chart_file
). Dessa kan ni ignorera i detta skede.