Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: external link about commit messages.

...

  1. Code development should begin from the master branch or most recent release branch of ACME from the github repository, and take place on a feature branch
  2. Code should be of high enough quality to be readable, modifiable, and maintainable by others
  3. New code in an existing routine should follow the style of the surrounding code.
  4. Brand new code should follow the recommended ACME coding standards (TBD).
  5. For eventual inclusion in the ACME model, the development should document the main steps of the ACME Code Review process:
    1. A design document (or paper) detailing the equations/algorithms that are being implemented
    2. Verification evidence that supports that the implementation is correct
    3. One or more tests added to the ACME testing system to protect the new feature against future developments
    4. Performance analysis and data showing the expected and measured performance impact of the new feature
    5. Validation evidence that the feature matches observational data
  6. Code development should be incorporated into, or rebased to, the ACME code base at least every few months, and developers must verify that the ACME tests still pass on this development branch (ACME has no resources to reconcile code that has been on diverging development paths).
  7. Code development should follow ACME git standards:
    1. Standard Good commit messages Commit message templateBrief (example:  http://chris.beams.io/posts/git-commit/)
    2. Clean commit history: Each commit should be a stand-alone self describing entity. Ideally each commit should be testable as well.

...