Giter Site home page Giter Site logo

nurou / pathfinder-vis Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 922 KB

Visualises commonly-used pathfinder algorithms in action.

Home Page: https://pathfinder-vis.vercel.app/

HTML 1.59% TypeScript 94.92% JavaScript 1.66% CSS 1.83%
radix-ui react tailwindcss typescript vite vitest

pathfinder-vis's Introduction

Hi

I do my best to make web apps more pleasant to use.

Currently a product developer at Hoxhunt.

Computer science (BSc) & human-computer interaction (MSc).

Reach me through email or Twitter DMs.

pathfinder-vis's People

Contributors

dependabot[bot] avatar nurou avatar

Stargazers

 avatar

Watchers

 avatar

pathfinder-vis's Issues

Koodikatselmointi

Ladattu klo 15.43 25.8.2020

  • Testaus
    • Ohjelma ei läpäise kaikkia testejä. Moduuli components/Visualiser/util, jota käytetään osassa testeistä, näyttää puuttuvan kokonaan.
    • Testikattavuusraportin mukaan testien kattavuus on 0 %.
  • Moduulin algorithms/Bfs käyttö ei onnistu, jos sen kansiota src/algorithms/BFS ei uudelleennimeä muotoon src/algorithms/Bfs. Ongelma johtuu luultavasti siitä, että käyttämäni käyttöjärjestelmä (Linux) erottelee isot ja pienet kirjaimet tiedostopoluissa. MacOS ja Windows eivät tee niin. Tästä syystä kansioiden ja tiedostojen nimien tulisi aina olla täsmälleen samat kuin niitä käyttävien moduulien import-lauseissa, jotta ne toimisivat varmasti kaikilla käyttöjärjestelmillä. TypeScript-kääntäjän asetus forceConsistentCasingInFileNames helpottaa näiden huomaamista.
  • Array-olion prototyypin muokkaaminen kannattaa tehdä moduulitasolla eikä PriorityQueue-luokan konstruktorissa. Koska muutokset ovat globaaleja, niitä ei tarvitse tehdä joka kerta, kun uusi PriorityQueue-olio luodaan. Voisi myös olla hyvä idea jättää prototyyppi muokkaamatta ja tehdä sen sijaan uusi luokka, joka toteuttaa tarvittavat lisätoiminnallisuudet.
  • Löysin muutaman bugin käyttöliittymästä:
    • Jos Show Distances -asetus on päällä, Reset Pathfinder -painikkeen painaminen piilottaa etäisyydet ruudukosta, mutta Show Distances -painike näyttää edelleen olevan painettuna. Jos haluaa saadaa ruudukon etäisyydet uudestaan näkyviin, on painiketta painettava uudestaan, jolloin se näyttää olevan pois päältä, vaikka se on oikeasti päällä.
    • Käyttöliittymässä on mahdollista painaa Regenerate Maze ja Reset Pathfinder -painikkeita kesken simulaation, jolloin käyttäjälle näkyvä ruudukko ei enää vastaa algoritmin prosessoimaa ruudukkoa, ja se esimerkiksi saattaa kulkea käyttäjälle näkyvien seinien läpi. Näiden painikkeiden painaminen voisi automaattisesti keskeyttää algoritmin suorituksen.
    • Käyttöliittymä mahdollistaa usean algoritmin päällekkäisen suorittamisen.

Vertaisarvio

  • Projektin lataaminen ja käynnistäminen lokaalisti vaati hieman selvittelyä. Projektin lataamisen ja riippuvuuksien hakemisen jälkeen sain seuraavanlaisen virhe -viestin:

"Failed to compile.

./src/algorithms/index.ts
Cannot find file: 'index.tsx' does not match the corresponding name on disk: './src/algorithms/Bfs/BFS'."

Muuttamalla kansion BFS nimen BFS -> Bfs sain projektin käynnistymään.

  • Ohjelman kansiorakenne on selkeä ja muuttujien nimet on valittu siten, että ne ovat hyvin kuvaavia. Koodi on hyvin kommentoitua ja helppolukuista.

  • Testikattavuusraportti jäi yarn coverage ajon jälkeen tyhjäksi. Vaikutti kuitenkin siltä, että testejä oli kirjoitettu suhteellisen kattavasti. Testaamista voisi vielä jatkokehittää, kuten varmasti tarkoitus onkin, ja esimerkiksi algoritmien osalta voisi testata laajemmin niiden toimivuutta ja sitä, että tekevätkö ne todella niitä asioita mitä niiden on tarkoitus tehdä.

  • Yleisesti ottaen ohjelma toimii hienosti ja vaikuttaisi olevan hyvin aikataulussa. Hyvää duunia!

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.