Project specific coding conventions
Project specific coding conventions
1. Brackets
All brackets (class, method, if, try, etc) must begin and end on a new line. Example :
public class SomeClass
{
public void someMethod()
{
if (xxx)
{
}
}
}
Brackets are mandatory, even for single line statements !
// Incorrect
if (expression)
// some code
// Correct
if (expression)
{
// some code
}
2. Blank Spaces
keywords followed by a parenthesis should be separated by a space. Example :
while (true)
{
// some code
}
Blank space should appear after commas in argument lists. Binary operators should be separated from their operands by spaces :
a += c + d;
a = (a + b) / (c * d);
while (d++ = s++)
{
n++;
}
printSize("size is " + foo + "/n");
3. Indentations
4 spaces. NO tabs . Period. We understand that a lot of you like to use tabs, but the fact of the matter is that in a distributed development environment, when the cvs commit messages get sent to a mailing list, they are almost impossible to read if you use tabs.
4. Comments
Javadoc SHOULD exist on all your class members (methods + class variables), including the private ones. Also, if you are working on existing code and there currently isn't a javadoc for that method/class/variable or whatever, then you should contribute and add it. This will improve the project as a whole.
Also add code comments when you think it's necessary (like assumptions), especially when the code is not obvious.
5. Author references
If you contribute to a file (code or documentation), add yourself to the top of the file (below the existing authors). For java files the preferred Javadoc format is:
@author devnickname
7. Class variables
Class variables should not have any prefix and must be referenced using the
this
object. Example : public class SomeClass
{
private String someString;
[...]
public void someMethod()
{
logger.debug("Value = " + this.someString);
}
}
8. Parameter names
Method parameters should not have any prefix. For example :
public void someMethod(String className)
{
}
9. Line length
Avoid lines longer than 120 characters for Code, comments, ...
10. Versioning
All .java files should have a
@version
tag like the one below. @version $Revision$ ($Author$)
11. Qualified imports
All
import
statements should containing the full class name of classes to import and should not use the "*"
notation : An example :
// Correct
import java.util.Date;
import java.net.HttpURLConnection;
// Not correct
import java.util.*;
import java.net.*;