Jump to: navigation, search

RAP/CodingStandards

Coding Conventions

This document describes the basic Coding Conventions used by the RAP development team.

Note: These conventions affect only newly created code. RAP reuses a lot of code from RCP (currently by copying that code) - These code-snippets are normally not re-formatted.


Follow the Sun conventions for the Java language: http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html (Note that this includes braces around if, while and for constructs even if their 'then'-clause or body has only one line; see section 7.4 of the conventions.) Apart from that, the following rules are mandatory:


  • Method parameters (with the exception of abstract methods) are never assigned to and have to be declared as final.
  • Initialize fields in the constructor, not in the declaration statement.
  • In general, do one thing in one line (e.g. don't write int a, b;)
  • There must be at most one return statement in each method
  • Do not use continue, break or return statements in loops
  • Use for loops if there is a known number of iterations in the loop, else use while loops (i.e.: don't use for loops with a list iterator)
  • Do not use variable names with only one letter (except loop variables in loops)
  • 80 characters per line is maximum
  • TAB characters are forbidden
  • Text files must use Unix line delimiters
  • Insert a space after opening braces and before closing braces(i.e.: if( someMethod( arg1, arg2 ) == array [ i ] ) { ... )
  • If lines are broken at an operator, the operator must be on the next line, and the next line is indented once. (No naked operators at the end of a line)
  • All public API must be marked with a @since tag at the class/interface level. Only methods, fields etc. that are added in a later release cycle must carry their own @since tag. The version number denotes the *release* version in which the element was/will be published the first time.


Formatter and Code Template Settings

All relevant projects are configured with project-specific settings to use the formatter and code templates that are used by the RAP team.

Note: This formatter isn't able to cover all style conventions we use, but it helps to get started.