-
Notifications
You must be signed in to change notification settings - Fork 3
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
Rutherford Scattering code-review checklist #30
Comments
Put on my plate at 3/3/16 dev meeting. @schmitzware assign to me when ready for review. |
I just need get IntellJ setup with the formatting bits so I can run it through there. Should be ready after that. |
So, just so you know - I broke up the Rutherford/Atom screens a bit more but not overly so. I ended up consolidating the gun, target & dashed zoomed line in to it's own node and re-layed out things. I didn't see the need to abstract out further seeing that it's ~125 lines of code, mainly layout, and it looks like things will change (space, legend, etc.) with the addition of that new bits in the design document. If you feel strongly the other way, just say so, it's no problem. |
Code review complete, see above for issue (or look for 'dev:code-review' tag). Overall this sim is in great shape, nice job. @schmitzware said that he had checked for memory leaks (heap comparison), so I've skipped that step, since it would take me some time. The only issue that I've assigned to myself is #49. I'd like to take a closer look at duplication in ScreenView subtypes. @schmitzware, Let me know if you have any questions, feel free to "push back" on anything you think is unnecessary. And feel free to proceed with addressing issues, I won't be making any further changes to code without consulting you first. |
Just waiting on updated images/assets files at this point. |
Images/Assets have all been updated - checklist looks complete - what's the next step here? |
@schmitzware next step would be to publish a "dev" version and have our testers bang on it for a bit to see if there are any bugs. |
Next step is for me to note that all code-review issues have been addressed, and close this issue. |
To clarify what @ariel-phet said in #30 (comment)... A "dev test" is an informal test of a "dev" (development) version. It's less rigorous than an "RC" (release candidate) test, in that it doesn't have a format test matrix, etc. The goal is to find any bugs that may be lurking with a minimal investment of tester and developer resources. The steps are: (1) Publish dev version 1.0.0.-dev.1. Ask me how, or see https://github.com/phetsims/phet-info/blob/master/sim_deployment.md. Requires that you have an account and permissions on spot.colorado.edu (the dev server). (2) Create an issue in tasks with title "Dev test Rutherford Scattering 1.0.0-dev.1", assign it to @ariel-phet. See phetsims/tasks#488 for a similar issue. (3) Evaluate and (likely) fix any issues that testers find. Possibly go to step (1) and do another cycle through the process. When a sim has passed dev testing, the next phase is typically RC testing, followed by publication. Since this sim isn't going to be published until feature #20 is added, I don't know if RC testing is going to occur right away. |
We will actually RC test this sim for one round, even before #20 is added. |
PhET code-review checklist
Build and Run Checks
Strings
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.enabled:false
should also havepickable:false
Organization, Readability, Maintainability
Performance, Usability
Memory Leaks
Property.link
is accompanied byProperty.unlink
.PropertySet.link
is accompanied byPropertySet.unlink
.DerivedProperty
is accompanied bydetach
.Multilink
is accompanied bydetach
.Events.on
is accompanied byEvents.off
.Emitter.addListener
is accompanied byEmitter.removeListener
.Node.addEventListener
is accompanied byNode.removeEventListener
Node.on
is accompanied byNode.off
tandem.addInstance
is accompanied bytandem.removeInstance
.dispose
function have one?The text was updated successfully, but these errors were encountered: