Skip to content

Coding Convention

1000kkannoo edited this page Jul 8, 2023 · 1 revision

코딩 컨벤션

⚠️ 해당 프로젝트는 아래의 코딩 컨벤션에 맞게 개발됩니다.

이름 (Naming)

  • 식별자에는 영문/숫자/언더스코어만 허용

  • 패키지 이름은 소문자로 구성

  • 클래스 / 인터페이스는 대문자 카멜표기법 적용

  • 클래스 이름은 명사 / 인터페이스 이름은 명사, 형용사 사용

  • 테스트 클래스는 ‘Test’ 를 마지막에 붙임

    ex)

    public class WatcherTest {}
  • 메서드 이름은 소문자 카멜표기법 적용

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

    ex)

    public final int UNLIMITED = -1;
    public final String POSTAL_CODE_EXPRESSION = “POST”;
  • 변수는 소문자 카멜표기법 적용

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

선언 (Declarations)

  • static import에만 와일드 카드 허용

    import java.util.*; X
    import java.util.List; O
  • 어노테이션 선언 후 새줄 사용

  • 한줄에 한 문장만 작성

    ex)

    int base, weight; X
    int base; O
    int weight; O
  • 배열에서 대괄호는 타입 뒤에 선언

    ex)

    String[] names;
  • long형 변수 값의 마지막에 L붙이기

  • 특수 문자의 전용 선언 방식을 활용

  • else 예약어를 사용하지 않는다. -> if 조건절에서 값을 return 하도록 구현하면 else를 사용하지 않아도 된다.

  • 조건식에는 부정문 대신 긍정문을 지향한다.

들여쓰기 (Indentation)

  • 하드탭 사용 (스페이스바 금지)
  • 블럭 들여쓰기
    • 클래스, 메서드, 제어문 등의 코드 블럭이 생길 때 마다 1단계를 더 들여쓴다.
  • 들여쓰기는 최대 3탭까지 허용

중괄호 (Braces)

  • 빈 블럭에 새줄 없이 중괄호 닫기 허용
  • 조건/반복문에 중괄호 필수 사용

줄바꿈 (Line-wrapping)

  • 최대 줄 사용 너비는 120자까지 가능

    • 단, package, import 선언문은 한줄로 작성
  • 줄바꿈 허용 위치

    • extends 선언 후
    • implements 선언 후
    • throws 선언 후
    • 시작 소괄호(() 선언 후
    • 콤마(,) 후
    • . 전
    • 연산자 전
      • +, , , /, %
      • ==, !=, >=, >,⇐, <, &&, ||
      • &, |, ^, >>>, >>, <<, ?
      • instanceof

    ex)

    public boolen isAbnormalAccess (
        User user, AccessLog log) {
    
        String message = user.getId() + "|" | log.getPrefix()
            + "|" + SUFFIX;
    }

공백 (Whitespace)

  • 중괄호의 시작 전, 종료 후에 공백 삽입
  • 제어문 키워드와 여는 소괄호 사이에 공백 삽입
  • 식별자와 여는 소괄호 사이에 공백 미삽입
  • 콤마/구분자 세미콜론의 뒤에만 공백 삽입
  • 콜론의 앞 뒤에 공백 삽입
  • 주석문 기호 전후의 공백 삽입

패키지 구조

  • Domain

Clone this wiki locally