Projekti ladattu 13.8. klo 10
Herokussa toimiva versio sovelluksesta näyttää hyvältä ja toteuttaa kaikki viikon 3 käyttötapaustavoitteet; kappaleeseen liittyy täysi CRUD ja uusia käyttäjiä voi rekisteröidä, sekä rekisteröitynyt käyttäjä voi kirjautua sisään.
Selkeitä bugeja tuotantoversiossa ei ilmennyt. Esiin nousi kuitenkin yksi mahdollinen käytettävyysparannus lomakkeiden validoinnin suhteen: Mikäli kappaleen tietoja päivittäessä toisen kentistä 'name' tai 'description' jättää tyhjäksi ja tallentaa päivitetyt tiedot, tietokantaan tallentuu tyhjä merkkijono kentän osoittamaan muuttujaan, eli esim. kappaleen nimi on mahdollista pyyhkiä tietokannasta vahingossa. Käytettävyys paranisi käyttäjän selkeällä ohjeistuksella tai lomakkeen validoinnilla, jolloin kentän ollessa tyhjä tietokantataulun attribuutti pysyisi ennallaan.
Lähdekoodissa kävin läpi sovelluksen perusrakenteen, routetuksen ja toiminnallisuudet, sekä html-tiedostot. Yleisesti ottaen projektin rakenne näytti hyvältä ja selkeältä: tiedostojen ja hakemistojen nimentä oli selkeää ja kuvasi hyvin tarkoitusta. Myös sovelluksen routet olivat selkeästi nimettyjä ja tämä näkyi positiivisesti myös tuotantoversion käyttökokemuksessa. Koodi noudatti hyvin kurssin clean code -periaatteita ja nimentä oli kohdallaan myös html-tiedostoissa sekä funktioissa.
Huomautettavaa jäi ainoastaan seuraavista seikoista:
- Lomakkeet oli toteutettu ohjeistuksen mukaan erillisillä luokilla, mutta kaikkiin lomakkeisiin ei liitetty varsinaisia validointeja (esim. nyt rekisteröityessä on teoriassa mahdollista lähettää tietokantaan yli 144 merkkiä pitkä merkkijono, jota tietokanta ei hyväksy talletettavaksi ja seuraa käsittelemätön virhetilanne)
- Tiedostossa songs/views.py oli osassa funktioita käytetty välioperaatioissa hieman huonon periaatteen mukaista yhden satunnaisen kirjaimen nimentää tyyliin
t = song.query.get(song_id)
t.description = ...
Tässä tilanteessa toki on selvää mitä koodissa tapahtuu, mutta yleisemmin ajatellen selkeämpi nimentä voisi tulla kyseeseen.
Kaikenkaikkiaan projekti näyttää oikein hyvältä ja etenevän suunnitelmien mukaan.