-
Notifications
You must be signed in to change notification settings - Fork 6
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
Code Review #173
Comments
Feel free to start on this at your convenience @pixelzoom. |
@ariel-phet What is the desired deadline for GAO code review? |
@aaronsamuel137 Back to you. The first check list item (sim passes lint) failed, due to the addition of a new ESLint rule. |
@pixelzoom I think end of next week would be nice if possible. Remember @jessegreenberg can also help with fixing code review issues. |
Sims passes lint now. Assigning back to @pixelzoom. |
Re testing for memory leaks: I did a heap comparison while running with Leaks due to registration of AXON observers is presumably a non-issue, because implementation-notes.md says:
|
Re performance testing, I did not complete these 2 items in the checklist:
I don't have access to the full range of test platforms. And it seems to me that these items would be better to complete during dev testing, rather than as part of the code review. |
Code review is done. Check list items that did not pass are marked with a red 'X' above. Issues created (24) are linked to this issue above, and labeled with "code review". Back to @aaronsamuel137. |
All issues have been addressed. Anything else you see needing to be done here @pixelzoom? |
Nothing left to do. Great job on the code @aaronsamuel137, overall it's in good shape for future maintenance. Closing. |
Build and Run Checks
Repository structure
Are all required files and directories present?
For a sim repository named “my-repo”, the general structure should look like this (where assets/, audio/ or images/ may be omitted if the sim doesn’t have those types of assets).
For a common-code repository, the structure is similar, but some of the files and directories may not be present if the repo doesn’t have audio, images, strings, or a demo application.
❌ Is the js/ directory properly structured?
All JavaScript source should be in the js/ directory. There should be a subdirectory for each screen (this also applies for single-screen sims). For a multi-screen sim, code shared by 2 or more screens should be in a js/common/ subdirectory. Model and view code should be in model/ and view/ subdirectories for each screen and common/. For example, for a sim with screens “Introduction” and “Custom”, the general directory structure should look like this:
grunt generate-published-README
orgrunt generate-unpublished-README
?chipper/js/grunt/Gruntfile.js
?Coding conventions
Documentation
Common Errors
Math.round
used wheredot.Util.roundSymmetric
should be used? Math.round does not treat positive and negative numbers symmetrically, see fix nearest-neighbor rounding in Util.toFixed dot#35 (comment)toFixed
used wheredot.Util.toFixed
ordot.Util.toFixedNumber
should be used? JavaScript'stoFixed
is notoriously buggy, behavior differs depending on browser, because the spec doesn't specify whether to round or floor.Organization, Readability, Maintainability
Performance, Usability
Memory Leaks
tandem.addInstance
should be accompanied bytandem.removeInstance
or documented why removeInstance is unnecessary.The text was updated successfully, but these errors were encountered: