ETC

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

jki09871 2024. 8. 19. 20:32
네이밍 컨벤션(Naming Convention)은 코드에서 변수, 함수, 클래스, 파일 등의 이름을 정하는 규칙과 방법을 의미한다. 이 규칙은 코드의 가독성을 높이고 유지보수를 용이하게 하며, 팀 내에서 코드의 일관성을 유지하도록 돕는다. 네이밍 컨벤션은 여러 가지 프로그래밍 언어와 프레임워크에 따라 다를 수 있지만, 기본적인 목표는 코드의 명확성과 일관성을 보장하는 것이다.

네이밍 컨벤션의 중요성

  1. 가독성 향상: 일관된 네이밍 규칙을 사용하면 코드를 읽기 쉽고 이해하기 쉬워진다. 변수나 함수의 이름만 보고도 그 역할을 추측할 수 있다.
  2. 유지보수 용이: 코드의 일관성을 유지하면, 나중에 코드를 수정하거나 다른 사람이 코드를 이해할 때 유리하다.
  3. 협업 효율성: 팀 내에서 동일한 네이밍 규칙을 따르면, 코드 리뷰나 팀 협업 시 혼동이 줄어들고 커뮤니케이션이 원활해진다.
  4. 디버깅 용이성: 일관된 네이밍 규칙은 디버깅 과정에서 변수나 함수의 역할을 명확히 하여 문제를 더 쉽게 찾을 수 있도록 돕는다.

일반적인 네이밍 컨벤션 규칙

  1. 변수 및 상수
    • 변수: 카멜 케이스(camelCase) 또는 스네이크 케이스(snake_case)를 사용한다.
      • 예: userName, totalAmount
    • 상수: 모든 문자를 대문자로 작성하고 단어 사이에 언더스코어(_)를 넣는다.
      • 예: MAX_VALUE, DEFAULT_TIMEOUT
  2. 함수 및 메소드
    • 함수/메소드 이름: 카멜 케이스를 사용하고 동사로 시작한다.
      • 예: calculateTotal(), getUserInfo()
  3. 클래스 및 인터페이스
    • 클래스 이름: 파스칼 케이스(PascalCase)를 사용하며 명사로 작성한다.
      • 예: UserAccount, OrderService
    • 인터페이스 이름: 클래스와 같은 네이밍 규칙을 사용하되, "I" 접두사를 붙이는 경우도 있다.
      • 예: IUserRepository, OrderProcessor
  4. 파일 및 디렉토리
    • 파일 이름: 클래스와 일치시켜 파일 이름을 짓는다.
      • 예: UserAccount.java, OrderService.java
    • 디렉토리 이름: 스네이크 케이스를 사용하는 경우가 많다.
      • 예: controllers, services
  5. 데이터베이스
    • 테이블 이름: 스네이크 케이스를 사용하고 복수형으로 작성한다.
      • 예: user_accounts, order_items
    • 컬럼 이름: 스네이크 케이스를 사용하여 필드의 의미를 명확히 한다.
      • 예: first_name, order_date

예시

변수 네이밍

// 카멜 케이스
int userAge;
double accountBalance;

// 스네이크 케이스
int user_age;
double account_balance;

 

함수 네이밍

// 카멜 케이스
void calculateTotalAmount();
String getUserName();

 

클래스 네이밍

// 파스칼 케이스
public class UserAccount {
    private String firstName;
    private String lastName;
}

 

인터페이스 네이밍

// 파스칼 케이스, I 접두사 사용
public interface IUserRepository {
    User findById(Long id);
}

 

데이터베이스 네이밍

-- 테이블
CREATE TABLE user_accounts (
    id BIGINT AUTO_INCREMENT PRIMARY KEY,
    first_name VARCHAR(50),
    last_name VARCHAR(50)
);

-- 컬럼
ALTER TABLE user_accounts ADD COLUMN email_address VARCHAR(100);

 

 

네이밍 컨벤션은 프로젝트의 규모와 팀의 필요에 따라 다를 수 있지만, 일관된 규칙을 설정하고 이를 준수하는 것이 중요하다. 네이밍 컨벤션을 정하고 문서화하면 팀원들이 쉽게 이해하고 따를 수 있으며, 코드의 품질과 유지보수성을 높일 수 있다.

'ETC' 카테고리의 다른 글

SpringBoot3.x.x Swagger 적용하기  (0) 2024.11.04