Developer Guidelines

For download and build instructions see Compiling Sources.

For used libraries and technologies see Design.

For information on joining the team see Join.

Formatting

 * Opening brackets on new line
 * Indent is four spaces.

API Documentation

 * Document all public classes and methods with /** */ comments
 * No author tags. Let's keep common code ownership, to ease development and maintenance without feeling like stepping into someone elses turf (if needed, the author information is available from the version control system).

Naming

 * Use descriptive naming (but keep class names to one or two words where possible)
 * Avoid one letter variables and parameters except for loops
 * Avoid abbreviated names at all costs, except for very common terms ('URL', 'etc', etc)

Packaging

 * One class or interface per file.
 * Use packages to group classes in logical units.
 * Have implementations in an 'impl' package under the package containing public API:s, where feasible.

Ordering

 * Order of class members (roughly):
 * public constants
 * public fields
 * private constants
 * private fields
 * public methods
 * private methods
 * inner classes