사용자 도구

사이트 도구


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

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