Skip to content
This repository was archived by the owner on May 4, 2025. It is now read-only.
This repository was archived by the owner on May 4, 2025. It is now read-only.

Vertaisarviointi 2 #2

@opturtio

Description

@opturtio

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ä!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions