* 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:
* Whenever possible, check for a negative, rather than a positive
* if (!something) {
// Do things
}
// Do other things
* 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 * override private * private * static private * abstract private * No one-line if statements, they should all have brackets