[Java] Code convention: 줄 나누기
줄 나누기
하나의 식이 한 줄에 들어가지 않을 때에는, 다음과 같은 일반적인 원칙들을 따라서 두 줄로 나눈다.
- 쉼표 후에 두 줄로 나눈다.
- 연산자(operator) 앞에서 두 줄로 나눈다.
- 레벨이 낮은 원칙 보다는 레벨이 높은 원칙에 따라 두 줄로 나눈다.
- 앞줄과 같은 레벨의 식(expression)이 시작되는 새로운 줄은 앞줄과 들여쓰기를 일치시킨다.
- 만약 위의 원칙들이 코드를 더 복잡하게 하거나 오른쪽 끝을 넘어간다면, 대신에 8개의 빈 칸을 사용해 들여쓴다.
메서드 호출을 두 줄로 나누어 쓸 때
someMethod(longExpression1, longExpression2, longExpression3,
longExpression4, longExpression5);
String a = someMethod1(longExpression1,
someMethod2(longExpression2,
longExpression3));
수학 표현식을 두 줄로 나누어 작성할 때
// 괄호로 싸여진 표현식 밖에서 줄 바꿈이 일어나고 더 높은 레벨이기 때문에 될 수 있으면 이 방법을 사용
longName1 = longName2 * (longName3 + longName4 - longName5)
+ 4 * longname6;
// 될 수 있으면 피하는방법
longName1 = longName2 * (longName3 + longName4
- longName5) + 4 * longname6;
메서드 선언을 들여쓸 때
// 일반적인 들여쓰기
someMethod(int anArg, Object anotherArg, String yetAnotherArg,
Object andStillAnother) {
...
}
// 너무 멀리 들여쓰는 것을 피하기 위해 8개의 빈 칸으로 들여쓰기
private static synchronized horkingLongMethodName(int anArg,
Object anotherArg, String yetAnotherArg,
Object andStillAnother) {
...
}
일반적으로 메서드 본문이 시작할 때 4개의 빈 칸을 사용. 메서드 본문과 구분하기 위해서 줄을 나누는 경우의 들여쓰기는 일반적으로 8개의 빈 칸 원칙을 사용한다.
// 아래와 같은 들여쓰기는 사용하지 않는 것이 좋다.
if ((condition1 && condition2)
|| (condition3 && condition4)
||!(condition5 && condition6)) { // 좋지 않은 들여쓰기
doSomethingAboutIt(); // 메서드 본문 시작이 명확하지가 않다.
}
// 대신에 아래와 같은 들여쓰기를 사용한다.
if ((condition1 && condition2)
|| (condition3 && condition4)
||!(condition5 && condition6)) {
doSomethingAboutIt();
}
// 또는 아래와 같은 들여쓰기를 사용한다.
if ((condition1 && condition2) || (condition3 && condition4)
||!(condition5 && condition6)) {
doSomethingAboutIt();
}
삼항식(ternary expression)을 사용할 때
alpha = (aLongBooleanExpression) ? beta : gamma;
alpha = (aLongBooleanExpression) ? beta
: gamma;
alpha = (aLongBooleanExpression)
? beta
: gamma;