[Java] Java 코딩 컨벤션

Hayoon·2022년 10월 29일
0

Java 컨벤션 관련 내용은 방대하고 많지만, 내가 코딩하면서 쉽게 간과할 수 있는 컨벤션에 대해서만 나열해보았다.

1. 식별자에는 영문/숫자/언더스코어만 사용

변수명, 클래스명, 메서드명 등에는 영어와 숫자만을 사용한다. 상수에는 단어 사이의 구분을 위하여 언더스코어(_)를 사용.

2. 클래스/인터페이스 이름에 대문자 카멜케이스 적용

클래스 이름은 단어의 첫 글자를 대문자로 시작하는 대문자 카멜표기법(Upper camel case)를 사용.

3. 상수는 대문자와 언더스코어로 구성

상태를 가지지 않는 자료형이면서 static final’로 선언되어 있는 필드일 때를 상수로 간주한다.

4. 변수에 소문자 카멜표기법 사용

클래스의 멤버변수/지역변수/메서드 파라미터에는 소문자 카멜표기법 사용

5. 임시 변수 외에는 1 글자 이름 사용 금지

6. 한 줄에 한 문장

문장이 끝나는 ; 뒤에는 새 줄을 삽입한다.
한 줄에 여러 문장을 쓰지 않는다.

7. 하나의 선언문에는 하나의 변수만

8. 중괄호(Braces)

K&R 스타일로 중괄호 선언
나쁜 예>

if (exp == null)
        {
            return false;
        }

        for (char ch : exp.toCharArray())
        {
             ....
        }

좋은 예>

if (exp == null) {
            return false;
        }

        for (char ch : exp.toCharArray()) {
            ....
        }

9. 닫는 중괄호와 같은 줄에 else, catch, finally, while 선언

나쁜 예>

if (line.startWith(WARNING_PREFIX)) {
    return LogPattern.WARN;
}
else if (line.startWith(DANGER_PREFIX)) {
    return LogPattern.DANGER;
}

좋은 예>

if (line.startWith(WARNING_PREFIX)) {
    return LogPattern.WARN;
} else if (line.startWith(DANGER_PREFIX)) {
    return LogPattern.NORMAL;
} else {
    return LogPattern.NORMAL;
}

10. 조건, 반복문이 한 줄로 끝나더라도 중괄호를 활용한다.

11. 메서드 선언이 끝난 후 다음 메서드 선언이 시작되기 전에 빈줄을 삽입한다.

12. // 주석 기호 앞 뒤로 공백

다음은 우아한테크세미나 1901425 TDD 리팩토링 자바지기 박재성님의 내용을 정리한 Refactoring과 관련한 제약사항, 방법이다.

  • Java Code Convention을 지키면서 Programming을 한다.
  • Indent(들여쓰기) depth를 3이 넘지 않도록 구현한다. (2까지만 허용)
    while문 안에 if 조건절이 있으면 들여쓰기는 2이다.
    Indent depth를 줄이는 가장 좋은 방법은 메서드를 분리하면 된다.
  • 메서드가 한 가지 일만 하도록 최대한 작게 만들어라.
  • 메서드의 길이가 15라인을 넘어가지 않도록 구현한다.=> 한 가지 일만 잘하도록 구현.
  • else 예약어를 쓰지 않도록 한다.
    if 조건절에서 값을 return 하도록 구현하면 else를 사용하지 않아도 된다.
profile
Junior Developer

0개의 댓글