Difference between revisions of "RAP/CodingStandards"

From Eclipsepedia

< RAP
Jump to: navigation, search
(Added UTF-8, formatting)
Line 4: Line 4:
  
 
'''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.
 
'''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:  
 
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:  
  
 +
=== General rules for text files ===
 +
 +
* Text files must use Unix line delimiters (\n)
 +
* If files contain non-ASCII characters, they have to be UTF-8 encoded
 +
* TAB characters are forbidden
 +
* 80 characters per line is maximum
 +
 +
=== Java code ===
  
 
* Method parameters (with the exception of abstract methods) are never assigned to and have to be declared as final.
 
* Method parameters (with the exception of abstract methods) are never assigned to and have to be declared as final.
Line 16: Line 23:
 
* 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)  
 
* 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)  
 
* 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.: <code>if( someMethod( arg1, arg2 ) == array [ i ] ) { ... </code>)
 
* Insert a space after opening braces and before closing braces(i.e.: <code>if( someMethod( arg1, arg2 ) == array [ i ] ) { ... </code>)
 
* 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)
 
* 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)

Revision as of 14:01, 7 February 2011

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:

General rules for text files

  • Text files must use Unix line delimiters (\n)
  • If files contain non-ASCII characters, they have to be UTF-8 encoded
  • TAB characters are forbidden
  • 80 characters per line is maximum

Java code

  • 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)
  • 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.