Git Product home page Git Product logo

fuk-roglyk's People

Contributors

nucularmoo avatar

Stargazers

 avatar

Watchers

 avatar

fuk-roglyk's Issues

Koodikatselmointi #2

Projekti ladattu 19.5.2015 klo 18.40

Projekti on hyvällä mallilla, lähti hyvin päälle ja toiminnallisuudet pelasi.
Kaikki testi menivät läpi. Luokat on selkeästi jäsennelty, ja metodit ovat lyhyitä ja selkeitä
Javadoc on selkeää ja on kuvattu hyvin metodien toiminnallisuudet.

Pari kehitysideaa:

  • Nappaimistonkuuntelija
    • Lisäisin näppäimistönkuuntelijaan myös KeyEventit nuolinäppäimille.
  • Käytät hieman suomen ja englannin kieltä sekaisin tietyissä kohdissa Esimerkiksi
    NPC luokassa piirretäänkö() ja Collision(), Maailma luokasta refresh() ja luoMaailma()

lainaus javalabran Yleistä osiosta:

Ohjelmakoodin muuttujat, luokat ja metodit voi kirjoittaa suomeksi tai englanniksi, kunhan kieliä ei sekoita rumasti keskenään. Samoin Javadoc
ja muu dokumentaatio kirjoitetaan suomeksi tai englanniksi.
Suositeltava tapa on kirjoittaa koodi englanniksi ja dokumentaatio suomeksi.

Ei mitään radikaalia kumminkaan, joitain pieniä esimerkkejä löytyi.

  • Hahmoille voisi luoda mahdollisesti eri tervehdyksiä käyttäen esimerkiksi ArrayListiä, josta voisi mahdollisesti Random luokkaa ja tervehdyslistan pituutta hyödyntämällä arpoa uusia vuorosanoja.
    Hahmoille tulisi tällä tavoin syvyyttä.
  • Tavarageneraattoria voisi laajentaa esimerkiski samaan tapaan kuin hahmojen tervehdyksillä ArrayListille sijoittamalla eri tavaroita, ilmeisesti tavaroilla on tulevaisuudessa tarkoitus olla
    Generoi() metodissa hauska nimentä banaani = "Pineapple" :D
  • Antaisin ehkä tavaroille ja tavatulle hahmolle selkeämmin eri värit, Nämä jää helposti sekaisin nykyisellään.

Testikattavuus on todella hyvällä mallilla, ja testejäkin on tehty reippaasti, hieno homma!

Tsemppiä viimeiselle viikolle! :)

Koodikatselmointi

Päivä ja kellonaika jolloin koodi ladattu: Pe 3.6.2016 klo 16:15

  • Pakkaus ja luokka jaottelu on hyvä ja looginen, nämä ovat myös hyvin nimetty.
  • Luokat noudattaa single responsibilityä hyvin. Ainoa poikkeus on Kartta luokka joka on aika laaja ja tekee useampia asioita. Kuten koodissa olikin kommentoitu, tätä kannattaa pilkkoa pienemmiksi ja eriyttää vastuut selkeästi.
  • Luokkien välillä on tällä hetkellä konkreettisia riippuvuuksia (ks. Peli luokka) joiden injektoimista kannattaisi harkita. Tämä tekisi ohjelman laajentamisesta selkeämpää, sekä estäisi mahdollisia virhe tilanteita ja riippuvuuksien vahingossa “rikkoutumista”.
  • Riippuvuuksiin kannattaisi rakentaa jonkin näköinen poikkeus tilanteden käsittelijä (testi/exception) ohjaamaan koodin editoijan oikeaan paikkaan virhe tilanteen sattuessa. Tämä tekisi laajentamisesta “turvallisempaa”, sillä riippuvuuksiin liittyvien virheiden jäljittäminen saattaa olla haastavaa.
  • Tavarageneraattori luokan generoi() metodissa tavaran id on banaani ja tavaralle annettu nimi on Ananas. Id tämmöisille metodeille kannattaisi olla geneerinen. Oletettavasti tätä luokkaa jatketaan jonkin näköisellä random nimi generaattorilla?, jotta pelissä esiintyy muitakin esineitä kuin ananaksia.

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.