jonitaajamo/ot-harjoitustyo

Koodikatselmointi

MiguelSombrero opened this issue · 1 comments

Koodikatselmointi: TelegramEventBot - projekti ladattu 22.4.2019 kello 7:20

Koodi oli selkeää ja metodit pilkottu järkeviin kokonaisuuksiin. Metodien ja attribuuttien nimeäminen oli järkevää ja niistä ymmärsi hyvin, mitä kyseinen metodi tekee, vaikka en perehtynyt TelegramLongPollingBot -luokan toimintaan, jonka tämän projektin luokka TelegramEventBot perii.

Nyt Dao -luokassa on aika paljon sovelluslogiikkaa, esimerkiksi metodeissa eventIsInDb ja isAttendingEvent. Ohjelman vastuiden ja rakenteen selkeyden kannalta voisi olla hyvä, että ohjelmalogiikka olisi ”service” luokassa ja Dao-luokassa tehtäisiin vain tietokantaoperaatioita. Lisäksi jäin miettimään isAttendingEvent metodia, että nyt Registration -taulun name attribuutti ei ole ainakaan tietokantatasolla merkitty uniikiksi: jos useammalla henkilöllä on sama nimi, toimiiko isAttenfingEvent -metodi oikein. En tosin ole varma hoidetaanko tämä jotenkin ohjelmalogiikassa.

Erittäin hyvää koodia kaiken kaikkiaan!

Ps. Repositoriosta puuttuu config.properties tiedosto, minkä vuoksi ohjelman suoritus ei onnistunut.

Kiitos katselmoinnista!

Tosiaan luokkarakennetta voisi parannella ja tietokannassa on liikaa epäloogisuuksia omastakin mielestä. Tiedosto config.properties sisältää telegramin apitiedot, valitettavasti ohjeet ohjelman suorittamiseen eivät olleet katselmointisi aikaan vielä valmiit.