phetsims / expression-exchange

"Expression Exchange" is an educational simulation in HTML5, by PhET Interactive Simulations.
GNU General Public License v3.0
2 stars 2 forks source link

code review #88

Closed pixelzoom closed 7 years ago

pixelzoom commented 7 years ago

PhET code-review checklist

Build and Run Checks

Internationalization

Repository structure

   my-repo/
      assets/
      audio/
         license.json
      doc/
         model.md
         implementation-notes.md
      images/
         license.json
      js/
         (see section below)
      dependencies.json (@samreid thinks this is only necessary in a branch)
      .gitignore
      my-repo_en.html
      my-repo-strings_en.json
      Gruntfile.js
      LICENSE
      package.json
      README.md

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.

   my-repo/
      js/
         common/
            model/
            view/
         introduction/
            model/
            view/
         lab/
            model/
            view/
         my-repo-config.js
         my-repo-main.js
         myRepo.js

Coding conventions

Documentation

Math Libraries

Organization, Readability, Maintainability

Performance, Usability

// Cap large dt values, which can occur when the tab containing
// the sim had been hidden and then re-shown
dt = Math.min( 0.1, dt );

Memory Leaks

PhET-iO

pixelzoom commented 7 years ago

5/11/17 dev meeting:

@jbphet will do memory testing and go through the checklist.

Plan A: Try to have this ready for @pixelzoom to do on Tuesday 5/16/17. Plan B: Have someone else do the review.

@jbphet assign to me when the sim is ready for review.

pixelzoom commented 7 years ago

Summary of 5/15/17 email update from @jbphet and @ariel-phet: Sim is not ready for review, so I won't be doing the code review. Someone else will be assigned to this issue when when the sim is ready.

pixelzoom commented 7 years ago

Hmm... I noticed that some of the items in the checklist are checked off. @jbphet are you checking them off as you do your own preliminary review?

jbphet commented 7 years ago

Yes I was. I can rescind those checkmarks if the intent was to have someone other than me go through the whole thing.

pixelzoom commented 7 years ago

This checklist was intended for the reviewer. But no harm in using it yourself, then unchecking everything before assigning it to the reviewer. Until then, everyone just needs to be aware that the checklist doesn't represent the status of the code review.

jbphet commented 7 years ago

I've unchecked them to avoid any confusion and will track my own progress on the list separately.

jbphet commented 7 years ago

Marking for dev meeting to draw straws and figure out who gets to do this review.

jonathanolson commented 7 years ago

I believe I've completed the code review to the depth that would be best. I haven't fully verified all of the logic (there is a lot required by this sim), but so far it looks good.

A few questions/notes that aren't covered by inline review comments or github issues:

I've left most review issues inline in the code (there were no major structural issues that would benefit from standalone issues). @jbphet, feel free to remove REVIEW statements at your discretion, or ideally create an issue referencing the line if there are questions or objections about the comment. Feedback on what review comments are helpful, and which are unhelpful or unneeded would be great!

Memory issues are most likely to be resolved by not recreating certain nodes in CoinNodeFactory, and reusing the results (through DAG usage). If that doesn't work (i.e. if it's a problem with Scenery's instance tree being too large), rasterization of coin parts may be helpful. Discussing with @jbphet on a call would be most helpful before memory work is done, so let me know when you're available.

jonathanolson commented 7 years ago

Checked off all issues that have pending review notes.

jbphet commented 7 years ago

Review and responses complete - closing.