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

Closed
hekazu opened this issue Feb 1, 2016 · 3 comments
Closed

Koodikatselmointi #1

hekazu opened this issue Feb 1, 2016 · 3 comments

Comments

@hekazu
Copy link

hekazu commented Feb 1, 2016

Projekti ladattu maanantaina 1.2.2016 klo 14.20 aikoihin

  • Käyttöliittymä näyttäisi kasautuvan onnistuneesti kun pääohjelman ajaa. Muuta se ei teekkään, mutta pääasiahan oli ettei homma kaadu projektia ajaessa.
  • Piecejen suhteen käytössä on abstrakti luokka. Copypastea sitä perivissä luokissa voi vähentää, sillä niillähän on perintäsyistä jo olemassa kyseiset metodit.
  • PieceGeneratorissa voisi käyttää Switchiä ennemmin kuin if ketjutusta, itse ainakin tykkään sen ulkonäöstä enemmän.
  • Itsellä semmoiset 16 testiä ei toimi. Oletan että tämä "on tarkoituskin" ja ohjelmaa toteutetaan TDD malliin, mutta jos ne tekopäässä toimivat voi kyseessä olla ongelma yhteensopivuuden kanssa muilla laitteilla.
  • Packagejako ei valitettavasti selkeä minulle, nimet tuntuvat olevan niin lähellä toisiaan että esimerkiksi gameenginen ja gamelogicin voisi laittaa saman katon alle, enkä ole satavarma ettei utilities sopisi interfacen alaisuuteen, mutta kyseessä voi myös olla se etten ole tottunut sovelluskehittäjä enkä siksi vain ymmärrä tarkemman jaon nuansseja.
  • Tykkään siitä miten olet toteuttanut Piecet Blockeina, asettuvat varmaan paremmin aloilleen seuraavan palan vuoron koittaessa ja posituvat helpommin rivien hajotessa.
@Ilpolainen
Copy link
Owner

Moi!

Kyllä se muutakin teki, mutta palat oli ulkona kuvasta ja ne piti itse
ohjata näppäimistöltä kuvaan, kun en ollut vielä tehnyt gamelooppia, jolla
automaattisesti tiputella paloja alas. Oon ite varsin samaa mieltä
luokkajaosta, ja käyttiksen refactorointi on seuraavaksi työn alla, kunhan
saan selville Swingin toimintaperiaatteita. Testit oli mulla kaikki
kunnossa, siis ne mitä olin ehtinyt tehdä. En tiiä, miksei sulla toiminut.
Mä tsekkaan ne copypastet. Rotaatio on tällä hetkellä toteutettu pikkuisen
höllmösti, kun se ois voinut tehdä matriisikertolaskulla, mutta tossa
manuaalihommassakin on etunsa.

Nyt mun peli pyörii jo tetriksen tapaan, mutta meinaan tosissaan selkeyttää
sitä, tehdä testit ja sitten vaan kehitellä toiminnallisuutta,
konfigurointeja, alkuvalikkoa ja tietenkin niitä helvetin testejä ja kaiken
maailman päiväkirjoja ja muuta hömpötystä.

Kiitos hyvästä palautteesta!

T: Ilmari

  1. helmikuuta 2016 klo 15.32 Henri Peurasaari notifications@github.com
    kirjoitti:

Projekti ladattu maanantaina 1.2.2016 klo 14.20 aikoihin

  • Käyttöliittymä näyttäisi kasautuvan onnistuneesti kun pääohjelman
    ajaa. Muuta se ei teekkään, mutta pääasiahan oli ettei homma kaadu
    projektia ajaessa.
  • Piecejen suhteen käytössä on abstrakti luokka. Copypastea sitä
    perivissä luokissa voi vähentää, sillä niillähän on perintäsyistä jo
    olemassa kyseiset metodit.
  • PieceGeneratorissa voisi käyttää Switchiä ennemmin kuin if
    ketjutusta, itse ainakin tykkään sen ulkonäöstä enemmän.
  • Itsellä semmoiset 16 testiä ei toimi. Oletan että tämä "on
    tarkoituskin" ja ohjelmaa toteutetaan TDD malliin, mutta jos ne tekopäässä
    toimivat voi kyseessä olla ongelma yhteensopivuuden kanssa muilla
    laitteilla.
  • Packagejako ei valitettavasti selkeä minulle, nimet tuntuvat olevan
    niin lähellä toisiaan että esimerkiksi gameenginen ja gamelogicin voisi
    laittaa saman katon alle, enkä ole satavarma ettei utilities sopisi
    interfacen alaisuuteen, mutta kyseessä voi myös olla se etten ole tottunut
    sovelluskehittäjä enkä siksi vain ymmärrä tarkemman jaon nuansseja.
  • Tykkään siitä miten olet toteuttanut Piecet Blockeina, asettuvat
    varmaan paremmin aloilleen seuraavan palan vuoron koittaessa ja posituvat
    helpommin rivien hajotessa.


Reply to this email directly or view it on GitHub
#1.

@Ilpolainen
Copy link
Owner

Hop!

Jostain syystä mä en pysty suoraan käyttämään mun abstractin luokan "Piece"
implementoituja komentoja. Eli tavallaan menee ihan hukkaan se abstracti
luokka, sillä siitä johdetut varsinaiset luokat herjaavat, jos en
Overrideta niitä ja siitä sitten tulee sitä copypastea.

Mistähän johtuis?.

  1. helmikuuta 2016 klo 21.13 Ilmari Pohjola pohjolanilmari@gmail.com
    kirjoitti:

Moi!

Kyllä se muutakin teki, mutta palat oli ulkona kuvasta ja ne piti itse
ohjata näppäimistöltä kuvaan, kun en ollut vielä tehnyt gamelooppia, jolla
automaattisesti tiputella paloja alas. Oon ite varsin samaa mieltä
luokkajaosta, ja käyttiksen refactorointi on seuraavaksi työn alla, kunhan
saan selville Swingin toimintaperiaatteita. Testit oli mulla kaikki
kunnossa, siis ne mitä olin ehtinyt tehdä. En tiiä, miksei sulla toiminut.
Mä tsekkaan ne copypastet. Rotaatio on tällä hetkellä toteutettu pikkuisen
höllmösti, kun se ois voinut tehdä matriisikertolaskulla, mutta tossa
manuaalihommassakin on etunsa.

Nyt mun peli pyörii jo tetriksen tapaan, mutta meinaan tosissaan
selkeyttää sitä, tehdä testit ja sitten vaan kehitellä toiminnallisuutta,
konfigurointeja, alkuvalikkoa ja tietenkin niitä helvetin testejä ja kaiken
maailman päiväkirjoja ja muuta hömpötystä.

Kiitos hyvästä palautteesta!

T: Ilmari

  1. helmikuuta 2016 klo 15.32 Henri Peurasaari notifications@github.com
    kirjoitti:

Projekti ladattu maanantaina 1.2.2016 klo 14.20 aikoihin

  • Käyttöliittymä näyttäisi kasautuvan onnistuneesti kun pääohjelman
    ajaa. Muuta se ei teekkään, mutta pääasiahan oli ettei homma kaadu
    projektia ajaessa.
  • Piecejen suhteen käytössä on abstrakti luokka. Copypastea sitä
    perivissä luokissa voi vähentää, sillä niillähän on perintäsyistä jo
    olemassa kyseiset metodit.
  • PieceGeneratorissa voisi käyttää Switchiä ennemmin kuin if
    ketjutusta, itse ainakin tykkään sen ulkonäöstä enemmän.
  • Itsellä semmoiset 16 testiä ei toimi. Oletan että tämä "on
    tarkoituskin" ja ohjelmaa toteutetaan TDD malliin, mutta jos ne tekopäässä
    toimivat voi kyseessä olla ongelma yhteensopivuuden kanssa muilla
    laitteilla.
  • Packagejako ei valitettavasti selkeä minulle, nimet tuntuvat olevan
    niin lähellä toisiaan että esimerkiksi gameenginen ja gamelogicin voisi
    laittaa saman katon alle, enkä ole satavarma ettei utilities sopisi
    interfacen alaisuuteen, mutta kyseessä voi myös olla se etten ole tottunut
    sovelluskehittäjä enkä siksi vain ymmärrä tarkemman jaon nuansseja.
  • Tykkään siitä miten olet toteuttanut Piecet Blockeina, asettuvat
    varmaan paremmin aloilleen seuraavan palan vuoron koittaessa ja posituvat
    helpommin rivien hajotessa.


Reply to this email directly or view it on GitHub
#1.

@Ilpolainen
Copy link
Owner

Joo siis se ongelma tulee siitä block-taulukosta. Abstractin luokan
konstruktorissa luodaan taulukko, jonka blockien koordinaatit täytyy joten
ilmaista. Kun ne eroavat varsinaisista luokista, taulokon blockien
läpikäynti ja niiden siirtely ei onnistukaan. Mikä nyt eteen? Miten voisin
paketoida sen, että huolimatta koordinaateista, mun luokat pystyisivät
käyttämään abstractin luokan kutsuja (esim. moveDown). Pistän nyt kaikki
implementoinnit takaisin copypastena, mutta voit esim. koittaa poistamalla
yhden näistä implementoinneista jostakin luokasta ja sitten kutsua sitä
mainissa. Tulee null-pointer.

  1. helmikuuta 2016 klo 17.19 Ilmari Pohjola pohjolanilmari@gmail.com
    kirjoitti:

Hop!

Jostain syystä mä en pysty suoraan käyttämään mun abstractin luokan
"Piece" implementoituja komentoja. Eli tavallaan menee ihan hukkaan se
abstracti luokka, sillä siitä johdetut varsinaiset luokat herjaavat, jos en
Overrideta niitä ja siitä sitten tulee sitä copypastea.

Mistähän johtuis?.

  1. helmikuuta 2016 klo 21.13 Ilmari Pohjola pohjolanilmari@gmail.com
    kirjoitti:

Moi!

Kyllä se muutakin teki, mutta palat oli ulkona kuvasta ja ne piti itse
ohjata näppäimistöltä kuvaan, kun en ollut vielä tehnyt gamelooppia, jolla
automaattisesti tiputella paloja alas. Oon ite varsin samaa mieltä
luokkajaosta, ja käyttiksen refactorointi on seuraavaksi työn alla, kunhan
saan selville Swingin toimintaperiaatteita. Testit oli mulla kaikki
kunnossa, siis ne mitä olin ehtinyt tehdä. En tiiä, miksei sulla toiminut.
Mä tsekkaan ne copypastet. Rotaatio on tällä hetkellä toteutettu pikkuisen
höllmösti, kun se ois voinut tehdä matriisikertolaskulla, mutta tossa
manuaalihommassakin on etunsa.

Nyt mun peli pyörii jo tetriksen tapaan, mutta meinaan tosissaan
selkeyttää sitä, tehdä testit ja sitten vaan kehitellä toiminnallisuutta,
konfigurointeja, alkuvalikkoa ja tietenkin niitä helvetin testejä ja kaiken
maailman päiväkirjoja ja muuta hömpötystä.

Kiitos hyvästä palautteesta!

T: Ilmari

  1. helmikuuta 2016 klo 15.32 Henri Peurasaari notifications@github.com
    kirjoitti:

Projekti ladattu maanantaina 1.2.2016 klo 14.20 aikoihin

  • Käyttöliittymä näyttäisi kasautuvan onnistuneesti kun pääohjelman
    ajaa. Muuta se ei teekkään, mutta pääasiahan oli ettei homma kaadu
    projektia ajaessa.
  • Piecejen suhteen käytössä on abstrakti luokka. Copypastea sitä
    perivissä luokissa voi vähentää, sillä niillähän on perintäsyistä jo
    olemassa kyseiset metodit.
  • PieceGeneratorissa voisi käyttää Switchiä ennemmin kuin if
    ketjutusta, itse ainakin tykkään sen ulkonäöstä enemmän.
  • Itsellä semmoiset 16 testiä ei toimi. Oletan että tämä "on
    tarkoituskin" ja ohjelmaa toteutetaan TDD malliin, mutta jos ne tekopäässä
    toimivat voi kyseessä olla ongelma yhteensopivuuden kanssa muilla
    laitteilla.
  • Packagejako ei valitettavasti selkeä minulle, nimet tuntuvat
    olevan niin lähellä toisiaan että esimerkiksi gameenginen ja gamelogicin
    voisi laittaa saman katon alle, enkä ole satavarma ettei utilities sopisi
    interfacen alaisuuteen, mutta kyseessä voi myös olla se etten ole tottunut
    sovelluskehittäjä enkä siksi vain ymmärrä tarkemman jaon nuansseja.
  • Tykkään siitä miten olet toteuttanut Piecet Blockeina, asettuvat
    varmaan paremmin aloilleen seuraavan palan vuoron koittaessa ja posituvat
    helpommin rivien hajotessa.


Reply to this email directly or view it on GitHub
#1.

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

2 participants