명명 규칙

정의
명명 규칙(命名規則)은 소프트웨어 개발, 데이터베이스 설계, 파일 시스템, 네트워크 등 다양한 분야에서 객체(클래스, 변수, 함수, 테이블, 컬럼, 파일 등)의 이름을 일관되고 의미 있게 부여하기 위해 정해진 규칙을 말한다. 이러한 규칙은 코드 가독성·유지보수성·협업 효율성을 높이고, 자동화 도구나 프레임워크와의 호환성을 보장한다.


1. 명명 규칙의 목적

목적 설명
가독성 향상 이름만 보고도 객체의 역할·특성을 파악할 수 있다.
일관성 유지 팀·프로젝트 전반에 걸쳐 동일한 스타일을 적용한다.
오류 방지 의미가 모호하거나 겹치는 이름으로 인한 버그를 줄인다.
자동화 지원 코드 생성·리팩터링 도구가 규칙을 기반으로 작업한다.
표준화 외부 라이브러리·프레임워크와의 충돌을 최소화한다.

2. 주요 명명 규칙 종류

규칙 종류 적용 대상 대표적인 표기법 특징
카멜 케이스(CamelCase) 변수·함수·클래스 myVariable, GetUserInfo 첫 단어는 소문자(소문자 카멜) 또는 대문자(대문자 카멜)로 시작, 이후 각 단어 첫 글자를 대문자로
스네이크 케이스(snake_case) 변수·함수·테이블 my_variable, user_id 모든 글자를 소문자로, 단어 구분에 언더스코어(_) 사용
파스칼 케이스(PascalCase) 클래스·열거형 UserAccount, OrderStatus 모든 단어의 첫 글자를 대문자로
헝가리안 표기법(Hungarian Notation) 변수 strName, iCount 변수 타입 또는 용도를 접두사로 표기
케이프 케이스(CapCase) 상수·열거값 MAX_SIZE, ERROR_CODE 대문자와 언더스코어 사용, 주로 상수에 적용
그리드(규제) 명명법 데이터베이스(테이블·컬럼) tbl_user, col_created_at 접두사(tbl_, col_)를 통해 객체 종류 구분
URL/REST 명명법 API 엔드포인트 /users/{userId}/orders 복수형 리소스와 계층 구조를 반영
프로그래밍 언어 별 관습 파일·디렉터리 MyClass.java, utils/ 언어·플랫폼에 따라 파일명·디렉터리 구조가 규정됨

3. 명명 규칙 설정 시 고려 사항

  1. 프로젝트 규모와 팀 구성
    • 대규모 팀일수록 엄격하고 명문화된 규칙이 필요.
  2. 도메인 특성
    • 비즈니스 용어·도메인 모델을 반영해 의미 있는 이름을 선택.
  3. 언어·플랫폼 제한
    • 예약어, 길이 제한, 문자 인코딩 등 제약을 확인.
  4. 자동화 도구와의 연계
    • 코드 생성기·lint·formatter와 규칙을 일치시켜 일관성 보장.
  5. 국제화
    • 다국어 환경에서는 영문 표기가 일반적이며, 한글을 혼용하면 인코딩·검색에 문제가 생길 수 있다.

4. 명명 규칙 예시

분야 객체 규칙 적용 예시
Java 클래스 CustomerOrder (PascalCase)
JavaScript 변수 orderList (소문자 카멜)
Python 함수 calculate_total() (snake_case)
C# 상수 MAX_CONNECTIONS (CAP_CASE)
SQL 테이블 tbl_employee (그리드 명명법)
REST API 엔드포인트 GET /api/v1/products/{productId}
파일 스크립트 init_database.sh (소문자 + 언더스코어)

5. 명명 규칙 관리 도구

도구 기능 지원 언어·플랫폼
ESLint JavaScript/TypeScript 코드 스타일·규칙 검사 JS, TS
Checkstyle Java 코드 스타일 체크 Java
Pylint / flake8 Python 코드 스타일·정적 분석 Python
Rubocop Ruby 코드 스타일·규칙 검증 Ruby
SonarQube 다중 언어 정적 분석·코드 품질 관리 다수
SQLFluff SQL 문법·명명 규칙 검사 SQL
Prettier 포맷팅·일관된 스타일 적용 JS, TS, HTML, CSS 등

6. 관련 개념

  • 코딩 표준(Coding Standard): 명명 규칙을 포함한 전반적인 코드 작성 원칙.
  • 리팩터링(Refactoring): 기존 코드의 구조·이름을 개선하여 가독성과 유지보수성을 높이는 작업.
  • 컨벤션(Convention): 비공식적인 관습·협의에 기반한 규칙, 표준보다 유연함.
  • 스키마(Schema): 데이터베이스 구조 정의 시 명명 규칙이 스키마 설계에 직접 영향을 미침.

7. 결론

명명 규칙은 단순히 “이름을 어떻게 짓는가”를 넘어 소프트웨어 시스템의 품질·생산성을 좌우하는 핵심 관리 요소이다. 프로젝트 초기 단계에서 팀 전체가 합의한 규칙을 문서화하고, 자동화 도구와 연계해 지속적으로 적용·점검함으로써 장기적인 유지보수 비용을 크게 절감할 수 있다.

둘러보기

더 찾아볼 만한 주제