Taso ja pistearvo: | B 80 |
---|---|
Lyhyesti: | Kirjoitetaan luokka kuvaamaan nettihuutokauppoja. |
Mitä opitaan: | luokan koodaamista itse tyhjästä, lisäharjoitusta muuttujien käytöstä ja algoritmien laatimisesta |
Toteuttamisen vapaus: | Keskitasoa. Ohjelman rakenteen isot linjat ja ratkaistava ongelma on ennalta määrätty tarkasti, mutta ongelman ratkaisutavan voi ja pitääkin päättää itse. |
Realistisuus: | Työskentelytavan osalta korkea. Tässä pyritään luomaan spesifikaation mukaisesti toimiva luokka, mikä on tyypillinen oikeankin elämän ohjelmointitehtävä. |
Haastavuus: | Keskitasoa. Tehtävässä laadittavia metoditoteutuksia joutuu pähkäilemään ehkä hieman aiempaa pidempään, jotta huutokaupat toimivat virheettömästi. |
Työläys: | Keskitasoa. Valtaosa selvinnee alle neljässä tunnissa ja moni alle kolmessakin. |
Kirjoittakaa luokka EnglishAuction
annetun dokumentaation mukaiseksi.
Luokka Bid
on annettu valmiina; käyttäkää sitä apuna luokan EnglishAuction
toteutuksessa.
EnglishAuction
-toteutuksenne
toiminnan. Sijoittakaa päämoduuli pakkaukseen auction
.
Palauttakaa english_auction.py
ja päämoduuli english_auction_test.py
Gobliniin.
EnglishAuction
dokumentaation alusta.
Ellei teillä ole kirkasta kuvaa siitä, mitä ohjelman yleensäkään pitäisi tehdä, on koodin
tuottaminen hyvin tuskaista. (Saattaa vaikuttaa tyhmältä, että tässä ohjelmointikurssin tehtävässä
joutuu panostamaan siihen, että opettelee jotain tiettyä huutokauppakäytäntöä, mutta tämä on itse
asiassa realistinen tilanne. Ammattilaisohjelmoijatkin joutuvat panostamaan usein huomattavastikin
ymmärtääkseen sen aihealueen (ns. problem domain tai vain domain), jota ohjelmat
käsittelevät.)
EnglishAuction
-luokkaa. Yht'aikaisesti
EnglishAuction
-luokan kehittelyn kanssa tuottakaa myös vähä vähältä testaukseen
käyttämänne päämoduuli. Luokan toteutuksen ja sitä koekäyttävän moduulin
kannattaa edetä rinta rinnan, niin homma pysyy paremmin hallussa. Aina kun lisäätte metodin
EnglishAuction
iin, niin lisätkää samalla myös pääohjelmaan testauskoodia ja
kokeilkaa ajaa ohjelmaa.