MiguelSombrero / ot-harjoitustyo

0 stars 0 forks source link

Koodikatselmointi #1

Open outisa opened 5 years ago

outisa commented 5 years ago

Ladattu 22.4. klo 21.48

Testasin projektia Netbeansissa ja tykästyin heti sovelluksen ulkonäköön. Sitä oli mielestäni luontevaa ja miellyttävä käyttää. Uuden menon syöttäminen onnistuu vaivatta ja ei näkymien välillä siirtyminen oli loogista. Tällä hetkellä Price kenttään voi syöttää negatiivisen luvun, joka hyväksytään. Samoin kokeilin antaa hinnaksi 10 * 10^65, joka hyväksyttiin. Ongelmana näin isolla luvulla muodostui se, että taulukot eivät näkyneet enää oikein, koska taulukon vasemmalle puolelle tulevat luvut eivät mahdu näytölle. Eli kannattanee lisätä jotkin järkevät rajat lisättäville hinnoille sekä lisätä tarkistukset näille.

Yritin myös lisätä menon jättämällä kategorian ja/tai ajankohdan tyhjäksi. Jolloin tuli error viestit Netbeansin outputtiin. Tästä olisi hyvä tulla muistutus käyttäjälle, että mikään kenttä ei voi olla tyhjä. Toisaalta koodissa oli näihin tapauksiin virheilmoitukset kirjoitettu. En tähän osaa antaa mitään vinkkiä, miksi SQLerrorin tapahtuessa kyseisen virheviestin näyttö ei onnistunut.

Kokeilin tietysti myös antaa väärää käyttäjätunnusta, salasanaa sekä luoda liian pitkää ja lyhyttä käyttäjätunnusta ja salasanaa. Nämä virhetilanteet oli hoidettu tosi hyvin, eli tekemäni "virheet" eivät päässeet läpi ja lisäksi sain niistä virheilmoitukset. Jos käyttäjänimi tai salasana oli väärän mittainen, niin virheviestissä luki "Username and password must be 5-15...", eli osa viestistä oli jäänyt pois. Halusin tästä huomauttaa, sillä koodissa virheviesti on pitempi ja oletettavasti haluaisit sen näkyvän kokonaan.

Ajoin myös kaikki sovelluksen testit ja ne menivät odotetusti läpi. Pakkausrakenne on mielestäni siisti ja luokat jaettu fiksusti toiminnallisuuden perusteella. Luokkanimet, metodit ja muuttujat ovat selkeitä ja ymmärrettäviä. Käyttöliittymän koodissa joillakin muuttujilla oli käytetty lyhenteitä, kuten cat kategorialle. Nämä muuttujat "menivät" kuitenkin luomisen jälkeen heti käyttöön, joten näistäkään ei tarvinnut arvailla mihin ne mahdollisesti liittyisivät. Sovelluksessa myös tehty päivämäärien generointi valikkolistaan järkevästi, eli ei tarvitse miettiä karkauspäiviä tai sitä mikä kuukausi kulloinkin on menossa.

DbCostDao luokassa oli kommentoitu removeByUser metodi, mikä auttoi ymmärtämään metodin toimintaa ja käyttötarkoitusta.

Kaiken kaikkiaan koodiasi oli helppo ja mukava lukea.

MiguelSombrero commented 5 years ago

Kiitos paljon hyvistä kommenteista! Tästä sai monta vinkkiä ohjelman laadun parantamiseksi :)