Code review is a well-proven tool for detecting defects and improving code.
To aid the discussion here's what we have now:
All code is subject to review.
Pull requests will be as small as possible and focused on
one(-ish) issue.
All non-trivial pull requests are associated with a github
issue. The issue is where discussion of requirements and
implementation details can be worked out.
Pull requests will be left up on github for about a day. Request
more time if you need it and are actively reviewing the code. (Note
that pull request can also be reviewed after they are merged, if you
miss one).
Jim will identify key stakeholders in chaged code and ensure they
accept code changes.
Reviewers are open-minded and ready to accept improvements to the
library.
Reviewers will make comments on the pull request. All comments
must be resolved.
If chages are dictated, they happen on the branch, so code
reviewers can see the updated code.
The pull request is only merged when all programmers agree that
all issues have been resolved.