- git enforced \n line endings
- 4-spaces instead of tabs for indentation
- Spaces after control statements before beginning parenthesis or brace
-
if (
-
for (
-
while (
-
do {
-
try {
-
public class SomeClass {
- Spaces after closing parenthesis in a control statement
- No newline after closing parenthesis and space in a control statement:
-
if () {
-
for () {
-
while () {
-
catch () {
-
switch () {
- Newlines before an else, else if, catch, and finally statement
-
}
else {
-
}
else if () {
-
}
catch () {
-
}
finally () {
- Space after ; in for statement, not before
-
for (int i = 0; i < 10; i++) {
- Spaces around operators
-
a + b
-
a == b
-
for (Type blah : blahs) {
-
"String " + "concatenation"
- Spaces around { and } on one-line declarations
-
public boolean aMethod() { return something; }
- Fewer extraneous parentheses, except when they increase readability
-
if (a == b || b == c)
- Indent on case in switch case statements
-
switch () { case 1:
- Mandatory comment for when a case falls through, and when not stacking
-
switch () { case 1: // Fallthrough case 2:
-
switch () { case 1: case 2: case 3: case 4: case 5: // Fallthrough case 6:
- Empty line between cases after break, return, or fallthrough
-
switch () { case 1: break; case 2:
- Prefer early returns over method indentation. Example:
-
if (!precondition) { // Possibly cleanup return; } // Continue with task
- Java standard class and method naming, with exception to McMMO in a class name
-
thisIsAMethod()
-
ThisIsAClass
- Exception:
McMMOCustomClass
- No space before opening parenthesis for methods, or constructors
-
public void thisIsAMethod() {
-
public ThisIsAClass() {
- Spaces after comma in method calls and constructors, not before
-
something.methodCall(variable, otherVariable);
- Accessing of variables with this. only when necessary to resolve scope
- Class variables always defined at the top, before the constructor
- No empty line between class declaration and beginning of variable declaration
- Always a empty line at the end of a method or constructor definition
- Constructors come before methods, and are typically ordered from the ones with the least arguments to the most
- Methods should be ordered in this manner:
- override public
- public
- static public
- abstract public
- override protected
- protected
- static protected
- abstract protected
- private
- static private
- No one-line if statements, they should all have brackets