Skip to content

Latest commit

 

History

History
48 lines (40 loc) · 2.06 KB

CONTRIBUTING.md

File metadata and controls

48 lines (40 loc) · 2.06 KB

How to contribute

We love contributions!

Getting started

  • Create a github account if you haven't already, and fork the project
  • Create a new branch, using a branch name that gives an idea of what the changes are about
  • One topic per commit; a number of small commits are better than one big one
    • Do not introduce whitespace changes! (Windows users: git config --global core.autocrlf true)
    • Encouraged but not enforced: each commit should stand alone, in the sense that the code should compile and run at that point.
  • One major topic per pull request. Commits that fix small things (typos, formatting) are perfectly acceptable in a PR fixing a bug or adding a feature.
    • Tests are good. Tests are required unless you're fixing something simple or that was obviously broken.
    • Do not change EXPRESS schema definition without reference to an upstream change.
  • Make your changes and push them to your GitHub repo
  • Once your branch is pushed, submit a pull request.
    • enable github option on each PR 'Allow edits from maintainers', refer to github help if necessary
  • We'll look at the PR and either merge (possibly after rebase) or add feedback.
    • If there isn't any activity within several days send a message to the mailing list - scl-dev AT groups.google.com.

Coding Standards

SC's source has been reformatted with astyle. When making changes, try to match the current formatting. The main points are:

  • compact (java-style) brackets:
    if( a == 3 ) {
        c = 5;
        function( a, b );
    } else {
        somefunc();
    }
  • indents are 4 spaces
  • no tab characters
  • line endings are LF (linux), not CRLF (windows)
  • brackets around single-line conditionals
  • spaces inside parentheses and around operators
  • return type on the same line as the function name, unless that's too long
  • doxygen-style comments (see http://www.stack.nl/~dimitri/doxygen/docblocks.html)

If in doubt about a large patch, run astyle with the config file misc/astyle.cfg. Download astyle from http://sourceforge.net/projects/astyle/files/astyle/