phetsims / bending-light

"Bending Light" is an educational simulation in HTML5, by PhET Interactive Simulations.
http://phet.colorado.edu/en/simulation/bending-light
GNU General Public License v3.0
8 stars 8 forks source link

Bending Light Code Review 3.0 #268

Closed samreid closed 9 years ago

samreid commented 9 years ago

A brief history on the code review of this sim:

  1. The initial port was completed by Actual Concepts and reviewed by @samreid in #44. This code review resulted in many significant changes
  2. After that review, numerous large changes were made to the simulation, including but not limited to layout, monochromatic light rendering and white light rendering, as well as how modules are structured and inter-related. We are now up to issue #267 or more.
  3. @samreid completed "code review 2.0" in #251

Since there has been such massive churn in this simulation, I recommend to treat #251 "code review 2.0" as @samreid's preparations for review by another PhET developer. I think it would be sufficient to start with a small amount of time (say 1-2 hours) and evaluate whether more time is warranted after that. My main questions are:

Coding conventions

Documentation

Organization, Readability, Maintainability

@ariel-phet can you delegate this?

ariel-phet commented 9 years ago

@samreid - my temptation would be to give this code review to @jessegreenberg especially since he has been interested in WebGl...this might give him more exposure to the types of patterns we have been using with that as a renderer. Any thoughts?

samreid commented 9 years ago

@jessegreenberg would be a great reviewer for what is needed here, but WebGL is only a tiny part of the complete implementation (only 1 of the 64 files deals with WebGL).

To learn more about how we have been using WebGL it would be more instructive to look through a broader range of simulations, searching for WebGLNode.call for subclasses. And I highly recommend the red Professional WebGL Programming book (I believe we have a hard copy or two, and perhaps online copies available through CU): http://www.wrox.com/WileyCDA/WroxTitle/Professional-WebGL-Programming-Developing-3D-Graphics-for-the-Web.productCd-1119968860.html

samreid commented 9 years ago

@jessegreenberg the code is ready for review, please see my specific questions in the issue description above (this is just a subset of the entire code review checklist).

jessegreenberg commented 9 years ago

@ariel-phet and @samreid, I am on it! Happy to do this code review and address the checklist in the issue description.

@samreid, I am aware of the red Professional WebGL Programming book, but I have yet to get my hands on it. Thanks for the recommendation.

To learn more about how we have been using WebGL it would be more instructive to look through a broader range of simulations, searching for WebGLNode.call for subclasses.

Agreed, this would be a great place for me to start learning WebGL in the context of PhET sims.

jessegreenberg commented 9 years ago

I am going to take a look at #269 tomorrow, but I consider this code review complete. Reassigning to @samreid to close this issue unless he thinks there is anything left to discuss or review for this issue.

samreid commented 9 years ago

@jessegreenberg thanks for your time and suggestions, I'll close this issue and continue in the new issues mentioned above.