Skip to content

issue #426 Description of the coding style #502

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Oct 4, 2012
Merged
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
138 changes: 138 additions & 0 deletions CODING_STYLE
Original file line number Diff line number Diff line change
@@ -0,0 +1,138 @@
==================================
Coding style
==================================

----------------------------------
Tabs and Indents
----------------------------------
* Tab size : 4
* Indent : 4
* Continuation indent : 8
* Label indent : 0

> Don't use tab characters.

----------------------------------
Spaces
----------------------------------
Before Parentheses
* if parentheses
* for parentheses
* while parentheses
* switch parentheses
* try parentheses
* catch parentheses
* synchronized parentheses

Around Operators
* Assignment operators (=, +=, …)
* Logical operators (&&, ||)
* Equality operators (==, !=)
* Relational operators (<, >, <=, >=)
* Bitwise operators (&, |, ^)
* Additive operators (+, -)
* Multiplicative operators (*, /, %)
* Shift operators (<<, >>, >>>)

Before Left Brace
* Class left brace
* Method left brace
* if left brace
* else left brace
* for left brace
* while left brace
* do left brace
* switch left brace
* try left brace
* catch left brace
* finally left brace
* synchronized left brace

Before Keywords
* else keyword
* while keyword
* catch keyword
* finally keyword

In Ternary Operator (?:)
* Before ?
* After ?
* Before :
* After :

Within Type Arguments
* After comma

Other
* After comma
* After semicolon
* After type cast

----------------------------------
Wrapping and Braces
----------------------------------
Braces placement
* In class declaration : End of line
* In method declaration : End of line
* Other : End of line

Use Of Braces
* if() statement : When multiline
* for() statement : When multiline
* while() statement : When multiline
* do .. while() statement : When multiline

Annotations
* Class annotations : Wrap always
* Method annotations : Wrap always
* Field annotations : Wrap always
* Paramater annotations : Do not wrap
* Local variable annotations : Do not wrap

----------------------------------
Blank Lines
----------------------------------
Minimum Blank Lines
* Before package statement : 0
* After package statement : 1
* Before imports : 1
* After imports : 1
* Around class : 1
* After class header : 0
* After anonymous class header : 0
* Around field in interface : 0
* Around field : 0
* Around method in interface : 1
* Around method : 1
* Before method body : 0

----------------------------------
JavaDoc
----------------------------------
Alignment
* Align parameter descriptions
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't want to align parameter descriptions

* Align thrown exception descriptions

Blank Lines
* After description

Invalid tags
* Keep empty @param tags
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't want to keep empty javadoc tags that add no information.

* Keep empty @return tags
* Keep empty @throws tags

Other
* Enable leading asterisks
* Use @throws rather then @exception
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/rather then/rather than/

* Keep empty lines

----------------------------------
Imports
----------------------------------
import static (all other imports)
<blank line>
import java.*
import javax.*
import com.*
<blank line>
import (all other imports)