This codebase follows the Oracle "Code Conventions for the Java Programming Language". See the following link: http://www.oracle.com/technetwork/java/codeconvtoc-136057.html In addition, this project has several rules that are more specific: - No line should use more than 79 characters - No tabs, only spaces - All indents should be 2 spaces (or 4 when there is confusion) if () { return true; } if () { return true; } - Given there are many generic types, there will be long class definitions. Wrap the line as follows: public class BspServiceMaster extends BspService implements CentralizedServiceMaster { /** Class logger */ private static final Logger LOG = Logger.getLogger(BspServiceMaster.class); } - All while/if/else must have brackets, even if there there is only a one line statement following. 'else' and 'else if' are expected to line up with the '}'. For example: if (condition) { statement; } if (condition) { statement; } else { statement; } - Any use of LOG should be enclosed with an is*Enabled() method. For example: if (LOG.isInfoEnabled()) { LOG.info("something happened"); } - All classes, members, and member methods should have Javadoc in the following style. C-style comments for javadoc and // comments for non-javadoc. Also, the comment block should have a line break that separates the comment section and the @ section. See below. /** * This is an example class */ public class Giraffe { /** Number of spots on my giraffe */ private int spots; /** * Example horribly long comment that wraps around the line. If it is very, * very, very long. */ private int feet; /** * How many seconds to travel a number of steps * * @param steps Steps to travel * @param stepsPerSec Steps a giraffe travels every second * @return Number of seconds */ public static int secToTravel(int steps, int stepsPerSec) { // Simple formula to get time to travel return steps / stepsPerSec; } } - When using synchronized statements, there should not be a space between 'synchronized' and '('. For example: public foo() { synchronized(bar) { } } - Class members should not begin with 'm_' or '_' - No warnings allowed, but be as specific as possible with warning suppression - Prefer to avoid abbreviations when reasonable (i.e. 'msg' vs 'message') - Static variable names should be entirely capitalized and seperated by '_' (i.e. private static int FOO_BAR_BAR = 2) - Non-static variable and method names should not begin capitalized and should only use alphanumeric characters (i.e. int fooBarBar) - All classnames begin capitalized then use lower casing (i.e. class FooBarBar)