:):)
tiralabra's Introduction
tiralabra's People
tiralabra's Issues
TiraLab koodikatselmointi
Koodista yleisesti
Hyvin palasteltu ja runsaasti kommentoitu koodi on helposti luettavaa. A* itsessään näyttäisi toimivan hyvin, laskien liikkumisen hinnan X- ja Y-etäisyyksistä. Kartta näyttäisi piirtävän kaikenlaista maastoa, jonka hintaa tulkitaan pathfinderissa. Manipuloimalla maastojen hintoja pystyin helposti muuttamaan suotuisinta reittiä.
Näkökulmastani koodi oli erittäin helposti luettavaa ja ymmärrettävää, enkä keksi siitä mitään negatiivista. Pieni outous oli, että testiluokissa kommentit olivat englanniksi kun koodissa ne olivat suomeksi, mutta molempia ymmärtää hyvin :)
Kehitettävää
Kehityskohteita on vaikea keksiä näin suoraviivaiseen toteukseen. A*, MinHeap ja solmukartta toimivat kaikessa yksinkertaisuudessaan mitä mainioimmin. Pathfinderin getPath-metodilla reitinhakua voi hyödyntää suoraan esimerkiksi pelissä tai karttasovelluksessa.
Käytännön reitinhaussa käynee kuitenkin aina välillä niin, ettei validia reittiä löydy. Mitä jos joistain maastoista ei yksinkertaisesti saa liikkua läpi? Selviääkö tämä reitinhaku siitä? Solmuille asetettu Weight-parametri ei taida voida olla ääretön, joten jokin muu tapa hoitaa asia voisi olla hyvä olla.
Testauksessa satunnaisgeneroitu kartta voisi olla avuksi. Samalla kartalla hommia tehdessä voi olla, että helposti jää jokin potentiaalinen ongelmatilanne huomaamatta.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.