Giter VIP home page Giter VIP logo

ot-harjoitustyo's Introduction

Snake

2-ulotteinen Snake-peli.

Dokumentaatio

Vaatimusmäärittely
Työaikakirjanpito
Arkkitehtuurikuvaus
Käyttöohje
Testausdokumentti
Muutosloki

Releaset

Viikko 5
Viikko 6
Loppupalautus

Komentorivitoiminnot

Testaus

Testit suoritetaan ajamalla hakemistossa Snake

mvn test

Testikattavuusraportti luodaan komennolla

mvn test jacoco:report

Kattavuusraporttia voi tarkastella avaamalla selaimella tiedosto Snake/target/site/jacoco/index.html

Suoritettavan jar-binäärin luominen

mvn package

Komento luo hakemistoon Snake/target jar-binäärin Snake-1.0-SNAPSHOT.jar

Checkstyle

Tiedostoon checkstyle.xml määritellyt koodin laadun testit suoritetaan ajamalla hakemistossa Snake komento

mvn jxr:jxr checkstyle:checkstyle

Jos koodin laadusta löytyy virheitä, ne voi lukea avaamalla selaimella tiedoston Snake/target/site/checkstyle.html

JavaDocs

Projektin JavaDocs-sivun voi generoida sijaintiin Snake/target/site/apidocs ajamalla hakemistossa Snake komento

mvn javadoc:javadoc

Dokumentaation saa auki avaamalla em. kansiosta sivun index.html

ot-harjoitustyo's People

Contributors

steeric1 avatar

Watchers

 avatar

ot-harjoitustyo's Issues

Koodikatselmointi

Koodi ladattu 28.04 klo 17:01

Koodin rakenne ja luettavuus ovat erinomaisia. Hahmotin nopeasti, miten eri luokat liittyivät toisiinsa selkeiden luokka- ja metodi nimien avulla.

Virheiden hallinta UserOperationResult enumien avulla on mielestäni hyvä idea. Olisin ehkä itse tehnyt omia poikkeuks (Exception) luokkia, jotka laajentavat (extends) luokan "Exception". Mutta tämä lienee mielipide asia.

User luokalla on oma UUID, mutta käytät silti käyttäjän nimeä löytämään käyttäjää UserDao oliosta SnakeService luokassa, renameUser ja setUserColor metodeissa. Näissä tapauksissa olisi varmasti turvallisempi yksilöidä käyttäjä UUID:n avulla

Tykkään, miten olet toteuttanut eri ikkunoiden vaihtumista switchin avulla. Mielestäni erinomainen tapa toteuttaa käyttöliittymän logiikka.

Eri käyttöliittymien ikkunoiden (view) koodi rakenne on selkeä ja olioiden nimet ovat selkeitä ja kuvaavia. Tämä tekee koodin luettavuudesta erinomaista.

Olet myös käyttänyt rajapintoja (interface) ja abstrakteja luokkia hyvin.

Testejä on kattavasti ja ne testaavat, että metodit tekevät mitä kuuluukin. Hienoa että testaat myös virhetilanteita!

Harmittaa ettet ole vielä kerennyt tekemään itse pelin logiikkaa, olisi ollut mukava katsella sitä myös.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.