Open jakubgrad opened 6 months ago
Thanks for the extensive feedback! Here are some comments on the points raised:
https://github.com/Wincewind/tiralabra/blob/774cc2a98756e85f0eafd045cd17e53ad1d29c82/src/assets_io.py#L102-L104 but with JPS, since the previous node in the path is actually a jump point, there can be several coordinates missing between two jump points if we want to draw a solid path. I've abstracted the use from "get_path_between_goal_and_start", since I'll be able to use it now to also form a path that isn't necessarily complete.
Thanks once again for all the pointers and if you're interested, I managed to add a gif generation option to the program slightly after the version downloaded for review :)!
Huh, the CodeCov tool looks pretty impressive! I haven't seen it nor Github badges before.
Regarding poetry shell
I'm not sure anymore if poetry run
runs in virtual environment by default on the university virtual machine, but it's nice that now it's in the README
anyway.
I suppose Invoke
isn't useful after all, since as you mentioned you use Github actions and actually passing command to a program through Invoke
can turn out to be pretty cumbersome
The gif generation that you implemented looks really cool! I think it's worth mentioning in the README that gifs are possible to see only inside the output directory, or at I don't think I saw any animation happening while running the program.
Good job!
Hi! I downloaded your repository at
3:30 pm 16.04.24
I read through it and run your program. Here's what I have to say:Documentation
Testausdokumentti
I recommend you include a link to an online test coverage report, so that's it's possible to see which parts of the code were tested. To do this, you can create you own Github page from a repository. E.g., I keep my newest coverage report inside coverage/aineo/week4 and because it's a github page, it's also accessible here.README.md
that runningpoetry shell
is necessary.README.md
it should bepoetry run python src/main.py
and notpoetry run python src\main.py
README.md
, although to some people a scenario is pretty self-explanatoryProgram ergonomy
Invoke library
for things like starting the program, testing your code, and creating coverage reports. It's really easy to use create your own custom commands and avoid typing long lines of arguments in the command line, and there's a convenient instructions for it in the software development course here. The end result looks of the config file looks like this, and it also allows me to view the coverage report online and see the code with highlighted tested and untested parts with a simple commandpoetry run invoke coverage-report
:It's also nice to have default option, so that e.g. you can press enter when it asks
Kirjoita kartan nimi, jolla haluat testata polunetsintä algoritmeja:
and it would just choose the first mapRefactoring main.py
main.py
file seems to be longer than necessary. I would recommend creating aservices
directory and putting all the functionality related to actually running the algorithms in a filealgorithm_service
, and expandingconsole_io.py
to handle more logic related to user input. This is becausemain.py
as of now has things that seem unrelated to each other, like:for d, _ in graph.nodes[current_node].items(): jump_point = _jump(current_node, d, goal, graph) if jump_point[0] is not None: successors.append(jump_point)