Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "RAP/CodingStandards"
(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) | ||
− | |||
− | |||
− | |||
* 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.