Taso ja pistearvo: | B 90 |
---|---|
Lyhyesti: | Etsitään virheet annetusta junapaikkojen varausohjelmasta. Korjataan ne. |
Mitä opitaan: | taulukoiden ja silmukoiden käyttöä, virheidenetsintää, mutkikkaamman koodin lukemista |
Toteuttamisen vapaus: | Kohtalainen. Omaa uudenlaista ohjelmaa ei pääse toteuttamaan, mutta virheiden etsintästrategiat ja testauskoodin laatiminen ja käyttö jäävät omaan harkintaan. |
Realistisuus: | Työskentelytavan osalta korkea. Tässä tehtävässä kohdataan monelle ammattiohjelmoijalle tuttu tilanne: pitää setviä jonkun toisen tekemä koodisotku. Itse junaohjelma nyt ei ole realistinen. |
Haastavuus: | Haastavahko. Toimintavirheiden etsiminen on monesti haastavaa ja edellyttää analyyttista ajattelua, järjestelmällisyyttä ja huolellisuutta. |
Työläys: | Keskitasoa. Useimmat selvittänevät tämän alle neljässä tunnissa. |
Annetussa koodissa on lukuisia toimintavirheitä, jotka estävät projektin Train luokkia toimimasta oikein. Tehtävänne on laatia päämoduuli, jonka avulla testaatte ohjelmaa ja paikannatte virheet. Löydetyt virheet pitää myös korjata.
Train-projektin luokkien toivottu toiminta on kuvattu oheisessa dokumentaatiossa tuttuun tapaan.
Palauttakaa Gobliniin korjatut kooditiedostot sekä testaamiseen käyttämänne päämoduuli train_test.py
.
None
-arvo vaunuolion sijaan). Tällaisia tapauksia EI tässä tehtävässä lueta virheiksi. Keskittykää löytämään
sellaisia virheitä, jotka selvästi saavat koodin toimimaan toisin kuin spesifikaatio määrää, vaikka parametriarvot ovatkin
ihan järkeviä.
SittingCar
on luokista monimutkaisin. Saattaa olla hyvä idea tutkia muut luokat ensin.
Sitten kun ymmärrys tästä ohjelmakokonaisuudesta ja oma testausprosessi ovat vähän hioutuneet, voi ottaa
SittingCar
-luokan käsittelyyn.