Skip to content
waldonhendricks edited this page Nov 17, 2014 · 1 revision

Contributing to KNOW AFRICA is easy:

API Changes & Additions

If you modify a public API, or add a new one, make sure to add these changes to the CHANGES file in the root of the repository. In addition to the CHANGES file

KNOW AFRICA is licensed under the APACHE 2.0 license. Before we can accept code contributions, we need you to sign our contributor license agreement. Just print it out

Code Style

KNOW AFRICA does not have an official coding standard. We mostly follow the usual Java style, and so should you.

A few things we'd rather not like to see:

underscores in any kind of identifier Hungarian notation Prefixes for fields or arguments Curly braces on new lines If you modify an existing file, follow the style of the code in there. Curly braces may be omitted if it does not hurt readability.

If you create a new file, make sure to add the Apache file header, as seen here.

If you create a new class, please add at least class documentation that explains the usage and scope of the class. You can omit Javadoc for methods that are self-explanatory.

If your class is explicitly thread-safe, mention it in the Javadoc. The default assumption is that classes are not thread-safe, to reduce the number of costly locks in the code base.

Performance Considerations

KNOW AFRICA is meant to run on both desktop and mobile platforms, including browsers (JavaScript!). Git

Most of the KNOW AFRICA team members are Git novices, as such we are just learning the ropes ourselves. To lower the risk of getting something wrong, we'd kindly ask you to keep your pull requests small if possible.

We do open new branches for bigger API changes. If you help out with a new API, make sure your pull request targets that specific branch.

Pull requests for the master repository will be checked by multiple core contributors before inclusion. We may reject your pull requests to master if we do not deem them to be ready or fitting. Please don't take offense in that case.