Skip to content
This repository has been archived by the owner on Sep 3, 2024. It is now read-only.

Vertaisarviointi 2 #2

Open
opturtio opened this issue Feb 24, 2024 · 0 comments
Open

Vertaisarviointi 2 #2

opturtio opened this issue Feb 24, 2024 · 0 comments

Comments

@opturtio
Copy link

Koodikatselmointi
Aika: 24.2.2024 klo 17.25

Minulla ei ole aikaisempaa kokemusta javascriptista eikä typescriptista, joka vaikeutti arvioinnin tekemistä.

Projektin dokumentointi

Ohjelman päätehtävä on algoritmien vertailu, joten olisin toivonut vähän tarkempaa dokumentointia algoritmeista. Esimerkiksi kohdassa "This is the Dijkstra algorithm". Voisit kertoa tarkemmin mitä algoritmi tekee. Sama pätee muissa algoritmeissa. Suosittelen käyttämään JSDOCia tai jotain muuta vastaavaa kommentteihin, jolloin voit helposti dokumentoida muuttujat jne. Tämän ansiosta koodista tulee paljon ammattimaisemman näköistä. Dokumentit ovat silti selkeät ja ne lukemalla on helppo seurata mitä koodissa tapahtuu.

Koodin luettavuus

Koodi on selkeää ja sitä on helppo lukea. Se noudattaa hyviä nimeämiskäytänteitä.

Testaus

Ohjelman testikattavuus on korkea ja testit ovat hyviä. Ne kattavat kaikki perustoiminnallisuudet. Suosittelisin silti tekemään lisää testejä. Et ole vielä tehnyt suorituskyky ja tehokkuustestejä. Toimiiko algoritmi isoilla kartoilla? Ohjelma ei havaintojeni mukaan käsittele todella suuria karttoja. Voit ladata MovingAI isomman kartan 1024x1024 koko luokkaa ja ajaa siinä haun kahden randomaalisen pisteen välillä esim. 50-100 kertaa ja toinen hyvä on maze, jossa liikutaan labyrintissä. Se toimii hyvin monimutkaisen reitinhaun testaamiseen. Tällaiset testit takaavat, että algoritmit toimivat odotetusti. Vielä tällä hetkellä testit puuttuvat JPS:lle.

Tiedostorakenne

Tiedostot ovat jaoteltu hyvin ja tiedostorakenne on ammattimainen. Hienoa työtä!

Virheiden käsittely

Koodin virheiden käsittely on melko yksinkertaista. Jos virhe havaitaan algoritmin suorituksen aikana, kuten epäonnistunut polun etsintä tai odottamaton tilanne, muuttuja isError asetetaan true -arvoksi. Tämä johtaa virhesivun (PageError) näyttämiseen käyttäjälle. Tämä lähestymistapa on mielestäni riittävä, jos virhetilanteet ovat harvinaisia ​​tai jos virheiden seuraukset eivät ole merkittäviä. Kannattaa kuitenkin vielä tarkistaa missä kaikissa tilanteissa virheitä voi ilmaantua. Ohjelma kuitenkin vaikuttaa siltä, ettei käyttäjä voi aiheuttaa virheitä.

Yhteenveto
Ohjelma on todella upea! Se on kaikinpuolin hyvin tehty. Käyttöliittymä on upea! Voisit vielä lisätä visualisoinnin algoritmeille. Olisi hieno nähdä miten algoritmit rakentavat reitin ja miten JPS löytää hyppypisteet. Olisi hienoa myös nähdä isompia karttoja. Nyt kartat ovat samankokoisia. Olisi myös hienoa, jos lisäisit napin, jolla kaikki algoritmit ajetaan, joten niitä ei tarvitse ajaa erikseen. Joka tapauksessa upeaa työtä!

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

No branches or pull requests

1 participant