Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Koodikatselmointi #1

Open
sofiaaair opened this issue Dec 8, 2020 · 0 comments
Open

Koodikatselmointi #1

sofiaaair opened this issue Dec 8, 2020 · 0 comments

Comments

@sofiaaair
Copy link

Koodikatselmointi SnakeGame

Projekti ladattu 8.12 klo 20.15

Projektissa kiinnitin ensiksi huomiota siihen, miten hyvin jokainen luokka on eriytetty, single-responsibility principle toimii hyvin.
Sovelluslogiikka on selkeästi eriytetty käyttöliittymästä ja sovellus noudattaa kerrosarkkitehtuuria. Jako pakkauksiin on toteutettu ohjeenmukaisesti.

Sovelluksen testikattavuus on hyvä, jokaisella luokalla ylittyy viikolla 6 vaadittu rivikattavuus 60%.
Yksittäisten metodien rivikattavuus jää paikoitellen alle 60%, esimerkiksi domain-pakkauksessa sijaitseva ScoreServicen metodin getScores()- toteuttama pisteiden listaus-osio jää jacoco- testien mukaan testaamatta. Muulta osin testauskattavuus on erinomaista.

Testiluokat testaavat sovelluksen toiminnalle keskeisiä asioita. ScoreServiceTest testaa projektin lataushetkellä kahdella testillä tyhjän listan toimintaa ja yhdellä testillä sitä, ettei liian matalia pisteitä lisätä listalle lainkaan. Tähän testiluokkaan voisi ehkä lisätä testin, joka testaa, palauttaako scoreService listan oikeassa järjestyksessä (tai oikeanlaisen listan, tms.) tapauksessa, jossa lista ei ole tyhjä ja pisteet riittävät listalle pääsyyn.

Checkstyle-virheitä ei näyttänyt olevan lainkaan, joten koodin laatuvaatimukset täyttyvät näiltä osin täydellisesti. Muutenkin koodi on helppolukuista ja selkeää, kaikki ylimääräiset asiat on siivottu koodista pois ja metodit on nimetty selkeästi, sovelluksen toimintaa on siten helppo seurata ja tulkita. Luokkien ja testiluokkien nimentä on ohjeidenmukaista, ja omaan silmään ei osunut toisteista koodia.

Pelin grafiikka on miellyttävä, ja testatessani sovellusta se toimii moitteettomasti. Erityisesti värimaailma ja pisteiden värin vaihtelu pelin aikana miellyttää silmää. Jos jotakin voisi muuttaa pelissä, niin pistetaulukon voisi ehkä näyttää lopussa ilman erillistä napinpainallusta, varsinkin jos pääsi onnekkaasti kärkisijoille, voisi olla koukuttavaa nähdä oma tulos ykköspaikalla. Tämä on kuitenkin vain graafinen hienosäätö ja peli on aivan mahtava ilman tätä toiminnallisuuttakin. Tätä pelatessa jäi jopa vähän itsekin koukkuun.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant