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 #2

Open
ejaasaari opened this issue Feb 28, 2015 · 0 comments
Open

Koodikatselmointi #2

ejaasaari opened this issue Feb 28, 2015 · 0 comments

Comments

@ejaasaari
Copy link

Projekti ladattu 28.2 18:20

Aiheesi on mielenkiintoinen ja toteutus vaikuttaa toimivalta. Projektin rakenteen ymmärtäminen on helppoa, ja esim. luokat sekä metodit ovat nimetty kuvaavasti. Testejä näyttää olevan kaikille toiminnoille ja on hyvä, että olet tehnyt myös automaattista suorituskykytestausta. Matriisien tallentaminen on hyvä keksintö, se helpottaa ohjelman käyttöä selkeästi.

Mahdollisia parannusehdotuksia:

  • Virheelliset syötteet kannattaa tarkistaa, nyt ohjelma kaatuu esim. jos syöttää sellaisen matriisin nimen, jota ei ole olemassa tai jos antaa pituuden/leveyden väärässä muodossa.
  • Ohjelma voisi myös antaa virheilmoituksen, jos sille antaa selvitettäväksi sellaisen matriisin käänteismatriisin, joka ei ole kääntyvä, esim. [2 6; 1 3]. Nyt tulokseksi tulee
[ Infinity NaN  ] 
[ -Infinity NaN  ]
  • Suorituskykytesteissä kannattaa tarkistaa tavoitellut ajat, esim. 100x100 matriisitulon tavoiteltu aika on 100 kertaa 10x10 matriisitulon aika, vaikka se pitäisi ilmeisesti olla 1000 (100^3/10^3). Testeissä voisi myös olla helpompi käyttää JUnitin timeout-toimintoa, siis tyyliin @Test(timeout=1000).
  • Matriisin kokoa ei tarvitsisi käyttöliittymässä välttämättä kysellä ollenkaan, senhän saa suoraan syötteestä helposti esim. käyttämällä String.split-metodia.
  • Käyttöliittymässä on hieman toisteista koodia, jota voisi jakaa pienempiin metodeihin, kuten matriisin nimen kyseleminen.
  • LU-luokan metodit voisivat olla staattisia. Itselleni ei myöskään selvinnyt, millä perusteella eri operaatiot on jaoteltu Matriisi ja LU -luokkien välille.
  • Kannattaa kiinnittää huomiota myös koodin tyyliin, yksikirjaimisia muuttujia on aika paljon ja whitespacen käyttö on paikoittain melko satunnaista. Jos käytät NetBeansia, niin alt+shit+f korjaa joitakin tyylivirheitä helposti.
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