4개의 공백을 들여쓰기 단위로 사용해야 합니다. 들여쓰기를 정확히 설정(space va tabs)하는 것은 지정되어 있지 않습니다. 탭은 정확히 모두 8칸(4칸이 아님)으로 설정해야 합니다.
80자 이상의 라인은 터미널과 툴에서 잘 처리되지 않으므로 피해야 합니다.
Note : 이 문서에서 사용되는 예제는 일반적으로 70자를 넘지 않는 더 짧은 라인의 길이일 것입니다.
표현식이 한 라인에 맞지 않을 떼, 표현식을 아래의 일반 원칙에 따라 줄바꿈 합니다.
다음은 메서드 호출을 줄바꿈하는 몇 가지 예제입니다.
someMethod(longExpression1, longExpression2, longExpression3, longExpression4, longExpression5); var = someMethod1(longExpression1, someMethod2(longExpression2, longExpression3));
다음은 산술 표현식을 줄바꿈 하는 두 가지 예제입니다. 두 번째 예제에서는 상위 수준의 괄호로 묶인 표현식 외부에서 줄바꿈 했기 때문에, 첫 번째 예제가 선호됩니다.
longName1 = longName2 * (longName3 + longName4 - longName5) + 4 * longName6; // PREFER longName1 = longName2 * (longName3 + longName4 - longName5 + 4 * longName6; // AVOID
다음은 들여쓰기 메서드 선언의 두 가지 예제입니다. 첫 번째 예제는 기존의 경우입니다. 두 번째 예제는 기존 들여쓰기를 사용하는 경우 두 번째 및 세 번째 라인을 오른쪽으로 멀리 작성해야 하므로 이때에는 대신 8칸만 들여씁니다.
// CONVENTIONAL INDENTATION someMethod(int anArg, Object anotherArg, String yetAnotherArg, Object andStillAnother) { ... } // INDENT 8 SPACES TO AVOID VERY DEEP INDENTS private static synchronized horkingLongMehtodName(int anArg, Object anotherArg, String yetAnotherArg, OBject andStillAnother) { ... }
if 문의 줄바꿈은 일반적으로 8-공백 규칙을 사용해야 합니다. 기존의 (4-공백) 들여쓰기는 body를 보기 어렵게 만들기 때문입니다. 예를 들어:
// DON'T USE THIS INDENTATION if ((condition1 && condition2) || (condition3 && condition4) || !(condition5 && condition6)) { // BAD WRAPS doSomethingAboutIt(); // MAKE THIS LINE EASY TO MISS } // USE THIS INDENTATION INSTEAD if ((condition1 && condition2) || (condition3 && condition4) || !(condition5 && condition6)) { doSomethingAboutIt(); } // OR USE THIS if ((condition1 && condition2) || (condition3 && condition4) || !(condition5 && condition6)) { soSomethingAboutIt(); }
다음은 삼항식(ternary expression)을 작성하는 세 가지 방식입니다.
alpha = (aLongBooleanExpression) ? beta : gamma; alpha = (aLongBooleanExpression) ? beta : gamma; alpha = (aLongBooleanExpression) ? beta : gamma;