Palautuksen deadline ti 24.11. klo 23:59
Muista pushata harjoitustyöhön liittyvät asiat GitHubiin ennen viikkodeadlinea.
- Klo 00 jälkeen tulevia repositorion päivityksiä ei huomioida pisteytyksessä, eli ne tuovat 0 pistettä.
HUOM! Saadaksesi harjoitustyöstä viikkokohtaiset pisteet, sovelluksen tulee toimia laitoksen koneella ja ohjaajien pitää pystyä se niiltä aukaisemaan!! Esim. Virtuaalisessatyöasemassa voit testata tätä.
Palautuksesta on tarjolla 3 kurssipistettä.
Arvostelussa kiinnitetään huomiota seuraaviin seikkoihin:
- Ohjelma on kasvanut edellisestä viikosta (0.75p)
- Projektin koodin pystyy suorittamaan komentoriviltä komennolla
python3 -m pipenv run start
- Suoritettava oleva versio on kasvanut edellisestä viikosta ja toteuttaa edellisen viikon versiota suuremman osan määrittelydokumentin toiminnallisuuksista eli ohjelmaan on lisätty jotain käyttäjälle näkyvää hyödyllistä toiminnallisuutta. Merkitse lisäksi tarkastusta varten määrittelydokumenttiin valmiit toiminnallisuudet "tehty" merkinnällä.
- Projektin koodin pystyy suorittamaan komentoriviltä komennolla
- Testaus on edennyt (0.5p)
- Sovellukselle tulee pystyä keräämään testikattavuus komennolla
python3 -m pipenv run coverage
ja generoimaan testikattavuusraportti komennollapython3 -m pipenv run coverage-report
- Käyttöliittymään ja testeihin liittyvä koodi jätetään pois testikattavuusraportista
- Sovelluksen testien haarautumakattavuuden tulee olla vähintään 20%
- Testien tulee olla mielekkäitä, eli niiden on testattava jotain ohjelman kannalta merkityksellistä asiaa
- Sovellukselle tulee pystyä keräämään testikattavuus komennolla
- Koodin laatu (1p)
- Sovelluslogiikka on riittävissä määrin eriytetty käyttöliittymästä
- Vihjeitä täällä ja referenssisovelluksessa
- Ohjelman rakenne heijastaa ohjelman loogista rakennetta ja on nimennältään järkevä
- Pylint on otettu käyttöön
- Ohje pylintin käyttöönottoon täällä
- Täydet pisteet pylintistä ainoastaan jos pylintin antama arvosana koodille on vähintään 7.00/10
- Käyttöliittymään tai testeihin liittyvän koodin ei tarvitse olla pylint-tarkastelun alla
pylint: disable
-kommenttien käyttö on kiellettyä ilman erittäin perusteltua syytä
- Sovelluslogiikka on riittävissä määrin eriytetty käyttöliittymästä
- Ohjelman alustava rakenne luokka/pakkauskaaviona (0.75p)
vastaavalla mekanismilla
- Kaavion ei tarvitse merkitä kuin sovelluslogiikan kannalta oleelliset luokat
- Voit tarvittaessa tehdä kaavion, josta ilmenee myös sovelluksen pakkausrakenne
- Mallia voi ottaa referenssisovelluksesta
- Tee repositorioosi hakemisto dokumentaatio ja sen sisälle tiedosto arkkitehtuuri.md ja upota kuva tiedostoon, tiedoston sisältö voi olla muilta osin tyhjä
- Tiedostoon arkkitehtuuri.md tulee olla linkki repositorion README:stä referenssisovelluksen tavoin
Seuraavien kohtien puutteet vähentävät pisteitä:
- Tuntikirjanpito on ajantasalla
- Tuntien summan tulee olla merkittynä
- Tuntikirjanpitoon ei merkitä laskareihin käytettyä aikaa
- Repositorion README.md-tiedosto kunnossa
- Tiedosto on kurssin tämän vaiheen osalta relevantin sisällön suhteen samankaltainen kuin referenssisovelluksen README.md
- Kaikki ylimääräinen, mm. linkit laskareihin on poistettu
- Repositorio siisti
- Ei ylimääräistä tavaraa (mm.
pytest
- jacoverage
-komentojen generoimia tiedostoja) - Laskarit jätetään hakemiston laskarit alle
- Järkevä .gitignore-tiedosto olemassa
- Ei ylimääräistä tavaraa (mm.
- Koneiden konfiguraatioissa on eroja, ja tällä kurssilla ei riitä että hajoitustyössä tekemäsi sovellus toimii vain omalla koneellasi
- Harjoitustyösi pitää pystyä joka viikko suorittamaan, kääntämään ja testaamaan komentoriviltä käsin laitoksen Linux-koneilla (tai uusimmat päivitykset sisältävällä cubbli-linuxilla), muussa tapauksessa työtä ei tarkasteta ja menetät viikonpalautuksen pisteet.
- Pääset testaamaan ohjelmaasi laitoksen koneella myös kotoa käsin käyttämällä etätyöpöytää https://helpdesk.it.helsinki.fi/ohjeet/tietokone-ja-tulostaminen/tyoasemapalvelu/etakaytettavat-tyopoydat-vdi-ja-vmware tai kirjautumalla ssh:lla palvelimelle melkki.cs.helsinki.fi