Code Review

Basic Workflow
Our team has decided to use the Github 'Shared Repository Model' centered around pull requests, which is explained by Github here. The process is as follows:


 * Clone or update from the master branch
 * Do all coding/work on a new local branch
 * Commit changes with a specific description of your work to a new remote branch with the same name as your local branch (or commit to the existing remote branch with the same name if further changes need to be made after the code is reviewed)
 * Open a pull request of your code compared with the master branch and have someone else review it. Note that we never merge our own code into the master branch.
 * The reviewer reviews the code (with or without the coder) and comments on any changes that need to be made. If the coder needs to make any changes to his code before it is merged into master, he commits those changes on the same branch he has been working on and has the reviewer look at all of the new code.
 * After all changes have been made to the coder's and reviewer's satisfaction, the reviewer merges the branch into master (manually if necessary), closes the pull request, and deletes the remote branch just reviewed.