-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Review of Existing Code #17
Comments
Some self-review from @araffin (lightly edited, mistakes my own):
|
I can do A2C and PPO review (core algorithms + files they use), along with updating them to share the code more elegantly as pointed above ( Edit: I could also do tests / fixes for Windows 10. I know this is not the main platform for this, but I would like to see some support for it. So far it passes almost all tests. Update: Error was in my end. Things run smoothly on Windows 10. |
@Miffyli nice =) (apparently, we can add Windows and mac os thanks to github ci (to be tested)) i will ping @hill-a privately ;) (he needs some motivation but he can do things and his input is usually valuable) |
I'm happy to review |
Mentioned somewhere: |
I've finished my review of the common files now in #89 Overall seems pretty good -- only suggested some minor tweaks. One more general point I noticed: the documentation includes the types but we also annotate the functions. Unfortunately they were often out of sync. In general it seems hard to keep them both up to date: I'm inclined to just drop the types from the documentation, and rely on type annotations (we could probably modify Sphinx to make the output prettier, if needed). Thoughts on this? Main reason I can see against this is sometimes we might want to abbreviate the type in documentation, although I think often that's a sign that a type alias might be more appropriate. I'm also tempted to use some autoformatters like |
Thanks =) (will try to take a look next week, currently busy with experiments on real robot...)
Yes, there is an issue about that #10 (that you already commented a while ago ^^)
In fact, I've seen that you have been using black and I wanted to ask you your feelings about that. I used it recently on some projects and I've got mixed feelings. So overall, it was nice to format everything automatically, but sometimes it formats it in a way I don't like. |
@hill-a as discussed privately, I'll assign you for SAC and TD3 review ;) |
Black's philosophy is "any colour you like [so long as it's black]", so customizability is not it's strong suit. I do also object to the formatting decisions made by |
After some quick trials, yapf corresponds more to the existing codestyle. It is not perfect when wrapping the lines but it already does a good job (and I prefer the codestyle vs the one imposed by black). |
After some more testing, I would go for black (maybe in combination with bug bear). |
As the TODO-list for v1.0 is almost complete, we should finish the code review. Regarding the documentation, i think it should be ok now? (see #166 ) |
Yep, I think the documentation is in good shape 👍 |
@araffin has done a great job creating this version of the library but has done it mostly solo, so much of the code has never been reviewed.
I suggest the other maintainers each take responsibility for reviewing a portion of the code. Rather than doing a traditional code review, since it's already committed I suggest we just make a PR with any changes we think should take place, or raise an issue for non-trivial proposals.
I think the priority is code that is used in multiple algorithms and/or defines the public API and which is new. This includes:
common/base_class.py
common/distributions.py
common/policies.py
common/type_aliases.py
Next would be the individual algorithms:
Also new parts of the documentation could use re-reading/confirming:
If this sounds like a good idea to others, then perhaps we can each claim a few entries on the above list and then start a PR for it? Also feel free to edit the post to break it up differently or to add files I've missed.
The text was updated successfully, but these errors were encountered: