Try   HackMD

작명의 중요성

코드를 읽는 시간이 코드를 작성하는 시간보다 훨씬 길기 때문에, 코드를 읽는 시간을 줄이기 위해 작명은 매우 중요하다

따라서 변수, 함수, 클래스 등의 이름을 정할 때는 의미를 명확히 하고, 일관성 있게 작성해야 한다

예를 들어, 나이를 저장하는 변수를 a라고 작성하면, 코드를 읽는 사람은 a가 무엇을 의미하는지 알기 어렵다. 하지만 age라고 작성하면, 코드를 읽는 사람은 age가 나이를 의미한다는 것을 쉽게 알 수 있다.

int a = 10;int age = 25;

한 단어로 표현이 어려운 경우에는 여러 단어를 조합하여 사용한다.

예를 들어, '학생의 나이(Student Age)'를 표현하고 싶다면, age라고 작성하는 것보다는 studentAge라고 작성하는 것이 더 좋다.

int a = 10;int studentAge = 25;

위의 경우 'Student Age'를 'studentAge'로 표현하였는데, 이를 **카멜 케이스(Camel Case)**라고 한다.

'카멜 케이스'처럼 여러 단어를 조합하여 사용하는 방법은 여러 가지가 있는데, 이를 **네이밍 컨벤션(Naming Convention)**이라고 한다.

네이밍 컨벤션(Naming Convention)이란?

  • 네이밍 컨벤션은 변수, 함수, 클래스 등의 이름을 정하는 규칙이다.
    • 개발자들끼리 합의된 약속일 뿐 강제되는 규칙이 아니다
  • 목적
    • 가독성 향상: 일관된 명명 규칙은 코드를 더 읽기 쉽게 만들며, 코드의 목적과 기능을 직관적으로 이해하는 데 도움을 준다
    • 유지 보수 용이: 명확한 네이밍은 코드의 유지 보수를 용이하게 한다
    • 협업 효율성: 팀 내에서 같은 규칙을 사용함으로써 협업의 효율성을 높인다

네이밍 컨벤션은 언어마다 다르다

네이밍 컨벤션의 종류

  • Pascal Case
    • 각 단어의 첫 문자를 대문자로 표기한다
    • ex) Pascal CasePascalCase
  • Camel Case
    • 각 단어의 첫 문자를 대문자로 표기하되, 맨 처음 문자는 소문자로 표기한다
    • ex) Camel CasecamelCase
  • Kebab Case
    • 각 단어를 하이픈(-)으로 구분한다
    • ex) Kebab Casekebab-case
  • Snake Case
    • 각 단어를 언더바(_)로 구분한다
    • ex) Snake Casesnake_case
  • Screaming Snake Case
    • 모든 문자를 대문자로 표기하고, 각 단어를 언더바(_)로 구분한다
    • ex) Screaming Snake CaseSCREAMING_SNAKE_CASE

자바의 네이밍 컨벤션

  • 클래스 이름은 PascalCase로 작성한다
    • ex) NamingConvention
  • 메소드 이름은 camelCase로 작성한다
    • ex) getUserName()
  • 변수 이름은 camelCase로 작성한다
    • ex) userName
  • 상수 이름은 SNAKE_CASE로 작성한다
    • ex) MAX_NUMBER
  • 패키지 이름은 소문자로 작성한다
    • ex) com.example.namingconvention

예시

public class NamingConvention {
    public static final int MAX_NUMBER = 10;
    public String userName = "John Doe";

    public static void main(String[] args) {
        int maxNumber = MAX_NUMBER;
        System.out.println(maxNumber);
    }

    public String getUserName() {
        return userName;
    }
}