사용자 도구

사이트 도구


wiki:miscellaneous:code_conventions:declarations

Code Conventions for the Java Programming Language

  • description : 6 - Declarations
  • author : 오션
  • email : shlim@repia.com
  • lastupdate : 2022-04-18 Mon



6. 선언 (Declarations)


6.1 한 라인당 선언문의 수

한 라인당 하나의 선언에 대한 주석 작성을 권장합니다. 다시 말해서,

  int level;    // 들여쓰기 수준
  int size;     // 테이블 크기
 



위와 같이 작성하는 것이 아래와 같이 작성하는 것보다 선호됩니다.

  int level, size;


같은 라인에 서로 다른 타입을 작성하지 않습니다. 예제:

int foo, fooarray[];   // 이렇게 작성하지 않습니다.


Note : 위의 예제에서는 유형(type)과 식별자(identifier) 사이에 하나의 공백을 사용합니다. 또 다른 허용 가능한 대안은 탭을 사용하는 것입니다. 예를 들어:

  int       level;          // 들여쓰기 수준
  int       size;           // 테이블 크기
  Object    currentEntry;   // 현재 선택된 테이블 엔트리



6.2 초기화 (Initialization)


선언된 곳에서 지역 변수를 초기화하십시오. 선언된 곳에서 변수를 초기화하지 않는 유일한 이유는 초기 값이 처음으로 발생하는 계산에 의존하는 경우입니다.

6.3 배치 (replacement)


블록의 시작 부분에만 선언을 넣습니다. (블록은 중괄호 "{"와 "}"로 묶인 코드입니다.) 변수를 처음 사용할 때까지 기다리지 마십시오. 부주의한 프로그래머를 혼란스럽게 하고 범위 내에서 코드 이식성을 방해할 수 있습니다.

void myMethod() {
    int int1 = 0;        // 메소드 블록의 시작
 
    if (condition) {
 
        int int2 = 0;    // %%"if"%% 블록의 시작
        ...
    }
}
</blockquote>



이 규칙에 대한 한 가지 예외는 for 루프의 인덱스이고, Java에서는 for 문 내부에서 선언할 수 있습니다.

for (int i = 0; i < maxLoops; i++) { ... }
</blockquote>



상위 수준에서 선언을 숨기는 지역 선언을 피하십시오. 예를 들어 내부 블록에서 동일한 변수 이름을 선언하지 마십시오.

int count;
...
myMethod() {
    if (condition) {
        int count = 0;      // 이렇게 사용하지 않습니다.
        ...
    }
    ...
}



6.4 Class and Interface Declarations


Java 클래스 및 인터페이스를 코딩할 때, 다음 포맷 규칙을 준수해야 합니다.

  • 메소드 이름과 해당 메소드의 매개변수 목록을 시작하는 괄호 "{" 사이에 공백은 없습니다.
  • 선언문과 동일한 라인의 끝에 중괄호 "{를 작성합니다.
  • "}"가 "{" 이후에 바로 나타나야 하는 null 문을 제외하고는, 닫는 중괄호 "}"는 해당 여는 문과 일치하며 들여쓰기된 라인에서 중괄호 "{"를 사용합니다.


class Sample extends Object {
    int ivar1;
    int ivar2;
 
    Sample (int i, int j) {
        ivar1 = i;
        ivar2 = j;
    }
 
    int emptyMethod() {}
 
    ...
}


  • 메소드는 비어있는 라인으로 구분합니다.

Ref Site

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