Tutustuin ensin sovellukseen käyttämällä sitä Herokussa, ja kokeilusta jäi seuraavat huomiot:
Uuden käyttäjätilin luominen ja sisään kirjautuminen on selkeää. On hyvä, että salasana tarkistetaan kahdesti käyttäjää luotaessa.
Osa virheellisistä syötteistä uutta käyttäjää luodessa, esim. eroavat salasanat tai jo olemassa olevan käyttäjänimen ottaminen, on estetty ja niistä ilmoitetaan oikein.
Huomasin kutenkin, että kentät voi jättää tyhjäksi. Käyttää voi siis luoda tilin ja kirjautua ilman salasanaa, ja käyttäjänimenkin voi valita tyhjäksi. Toisaalta syötteiden pituutta ei myöskään olla rajoitettu, vaan käyttäjänimeksi tai salasanaksi voi tunkea aivan turhan pitkiä syötteitä. Syötteiden pituus kannattaisi rajata jollekin välille, esim. 5-99.
Sama juttu harjoituksia kirjatessa. Kentän voi jättää tyhjäksi, tai sinne voi tunkea hyvin paljon tavaraa. Tässäkin syötettä voisi jonkin verran rajata.
Sovelluksen käyttö on kaiken kaikkiaan selkeää ja suoraviivaista, ja sovelluksessa on kaikki githubissa tämänhetkiseksi ilmoitetut toiminnot, mutta syötteiden pituuksiin liittyviä seikkoja olisi hyvä säätää.
Sovelluksen koodista ja tietokannan rakenteesta jäivät seuraavat huomiot:
Koodi on selkeää ja helppolukuista, ja funktiot ja muuttujat on nimetty asianmukaisesti.
Yleensä tuntuu olevan käytäntönä viitatata käyttäjiin id:n avulla, joten tämän puuttuminen pisti hiukan silmään. Nykyiset ja suunnitellut toiminnallisuudet huomioon ottaen tämä on kai nyt lähinnä makukysymys, mutta jos sovellukseen tahdottaisiin koskaan esimerkiksi mahdollisuutta vaihtaa käyttäjänimeä, käyttäjillä olisi hyvä olla yksilöllinen id, jolla viitata käyttäjään ja käyttäjän harjoituksiin.
Salasanaa ei tallenneta kirjastoon sellaisenaan, mikä on hyvä tietoturvan kannalta.
Tietokannan kanssa tekemisissä olevat komennot voisi eriyttää omiin tiedostoihinsa, kurssimateriaalin osa 3:ssa esitettyä sovelluksen rakennetta noudattaen. Esim. harjoituksien tallentamisesta ja hakemisesta vastaavat toiminnallisuudet voisi siirtää vaikka exercises.py-tiedoston hoidettavaksi.
Kaiken kaikkiaan sovellus on toimii hyvin, koodi on järkevää ja repositorio on siisti.
Kiitos! Huomiosi olivat oikein käyttökelpoisia ja arvokkaita. Osa, kuten vaikkapa syötteiden rajaaminen, ovatkin tuossa to-dolla, mutta myös uusia näkökulmia tuli.
Tutustuin ensin sovellukseen käyttämällä sitä Herokussa, ja kokeilusta jäi seuraavat huomiot:
Sovelluksen koodista ja tietokannan rakenteesta jäivät seuraavat huomiot:
exercises.py
-tiedoston hoidettavaksi.