ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [JAVA] 구글 자바 네이밍 (naming) 가이드
    JAVA 2021. 9. 29. 15:30

    Naming

    1. 식별자 (identifiers) 네이밍 규칙

        - 모든 식별자는 ASCII 문자와 숫자 그리고 _, $를 써야한다. 그래야 정규 표현식으로 match 할 수 있다.

        - 구글 스타일에서 특별한 접두사 (prefixes) 나 접미사 (suffixes)를 사용 하지 않는다.

           ex) name_, mName, s_name 이런 변수명은 사용X

    2. 식별자 type에 따른 규칙

    • 패키지 이름 (package names)
      - 모든 패키지 이름은 소문자로 써야한다. '_' 없이 연속적인 단어로 연결해야한다.
         ex) com.example.deepspace (O), com.example.deepSpace (X), com.example.deep_space (X)

    • 클래스 이름 (class names)
      - 클래스 이름은 UpperCamelCase로 써야 한다. 
      - 클래스 이름은 전형적인 명사 (nouns)나 명사절 (noun phrases)로 사용 해야한다.
        ex) FileInfo, Drive, ImmutableList
      - 인터페이스 이름 (interface names)로 클래스와 비슷하지만 때로는 형용사 (adjectives) 또는 형용사절 (adjective phrases)로 쓴다.
        ex) Readable
      - 어노테이션 (annotations) 타입을 위한 잘 정립된 컨벤션은 없다.
      - 테스트 클래스는 Test로 클래스 이름을 시작해야 한다.

    • 메서드 이름 (Method names)
      - 메서드 이름은 lowerCamelCase로 써야 한다. 
      - 메서드 이름은 보통 동사 (verbs) 또는 동사절 (verb phrases)를 사용.
         ex) sendMessage, stop

    • 상수 이름 (constant names)
      - 상수 이름은 CONSTANT_CASE 를 사용한다. 모든 문자가 대문자이고 '_'로 다음 단어와 연결한다.
      - 상수란 static final fields. 불변하고 (immutable) 메서드가 감지 할 수 있는 사이드 에펙트 (side effects)가 없다.

    • 상수가 아닌 필드 이름 (Non-constant field names)
      - 상수가 아닌 필드는 lowerCamelCase로 적는다. 
      - 명사 또는 명사절이다.
         ex) computedValues, index

    • 매개변수 이름 (parameter names)
      - 매개변수 이름은 lowerCamelCase 로 써야 한다.
      - 한글자인 매개변수 이름은 피해야 한다.

    • 지역 변수 이름 (local variable names)
      - 지역 변수 이름은 lowerCamelCase 로 써야 한다.
      - 지역 변수가 final (불변 immutable) 이더라도 전역 변수가 아니면 상수로 취급되면 안된다.

    • 타입 변수 이름 (type variable names)
      - 두 가지 스타일로 각 타입 변수 네이밍이 된다.
      - 한 글자 대문자 (뒤에 숫자 한자리 붙어도 된다.)
        ex) E, T, X, T2
      - 클래스 이름에 사용되면 RequestT, FooBarT 이와 같이 사용된다.

    • 카멜 케이스 (Camel case) 로 변환하는 방법
      - 절 (phrase)를 plain ASCII로 바꾸고 어퍼스트로피(')를 지운다.
        ex) Mincheol's computer -> Mincheols computer
      - 공백과 쉼포로 단어를 쪼갠다. (iOS와 같이 이미 사용되던 컨벤션이 있으면 그대로 지켜준다.)
      - 모든 단어를 소문자로 바꿔 준 다음에 각 단어의 첫 글자만 대문자로 바꿔준다. 축약어 acronym도 포함.
      - 마지막으로 하나의 식별자로 합쳐준다.

     

     

    * 본 내용은 Google Java Style Guide에서 내용을 가져옴 - https://google.github.io/styleguide/javaguide.html#s5-naming

Designed by Tistory.