사용자 도구

사이트 도구


wiki:miscellaneous:code_conventions:indentation

Code Conventions for the Java Programming Language

  • description : 4 - Indentation
  • author : 오션
  • email : shlim@repia.com
  • lastupdate : 2022-04-14 Thr

자바 프로그래밍 언어를 위한 코드 규약

​

4. 들여쓰기

4개의 공백을 들여쓰기 단위로 사용해야 합니다. 들여쓰기를 정확히 설정(space va tabs)하는 것은 지정되어 있지 않습니다. 탭은 정확히 모두 8칸(4칸이 아님)으로 설정해야 합니다.

4.1 한 라인의 길이

80자 이상의 라인은 터미널과 툴에서 잘 처리되지 않으므로 피해야 합니다.

Note : 이 문서에서 사용되는 예제는 일반적으로 70자를 넘지 않는 더 짧은 라인의 길이일 것입니다.

4.2 줄 바꿈

표현식이 한 라인에 맞지 않을 떼, 표현식을 아래의 일반 원칙에 따라 줄바꿈 합니다.

  • 쉼표 뒤에서 줄바꿈 합니다.
  • 연산자(operator) 앞에서 줄바꿈 합니다.
  • 낮은 수준에서 줄바꿈 하는 것 보다 높은 수준에서 줄바꿈 하느 것을 선호합니다.
  • 이전 라인에 있는 동일한 수준의 표현식의 시작 부분과 새로운 라인을 일치시킵니다.
  • 위의 규칙으로 코드가 혼란스럽거나 오른쪽 여백 가까이 가는 경우, 대신 8칸의 공백 들여쓰기를 합니다.


다음은 메서드 호출을 줄바꿈하는 몇 가지 예제입니다.

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;                             

Ref

/volume1/web/dokuwiki/data/pages/wiki/miscellaneous/code_conventions/indentation.txt · 마지막으로 수정됨: 2023/01/13 18:44 (바깥 편집)