프로그래밍 언어별 명명 규칙 (Naming Convention)
camelCase
snake_case
PascalCase
kebab-case
camelCase (낙타 표기법)
첫 번째 단어를 제외하고 각 단어의 첫 글자를 대문자로 시작합니다.
Java, JavaScript 등에서 변수나 함수 이름에 주로 사용합니다.
snake_case (스네이크 표기법)
모든 단어를 소문자로 쓰고 단어 사이를 언더스코어('_')로 연결합니다.
Python, Rust에서 주로 사용합니다.
PascalCase (파스칼 표기법)
각 단어의 첫 글자를 대문자로 시작합니다.
C#, Java 등에서 클래스 이름에 주로 사용합니다.
kebab-case (케밥 표기법)
모든 단어를 소문자로 쓰고 단어 사이를 하이픈('-')으로 연결합니다.
HTML, CSS에서 클래스 ID를 명명할 때 주로 사용합니다.
언어별 네이밍 컨벤션 구분
Java
구성 요소 | 네이밍 스타일 | 예시 |
변수 및 함수 | camelCase | localVariable, sendMessage |
상수 | UPPER_CASE | MAX_STOCK_COUNT, COLOR_RED |
클래스 및 인터페이스 | PascalCase | StringBuilder, List |
메서드 | camelCase | getFile, readData |
패키지 | 소문자 | java.util, org.springframework |
JavaScript
구성 요소 | 네이밍 스타일 | 예시 |
변수 및 함수 | camelCase | documentReady, fetchUser |
상수 | UPPER_CASE | API_KEY, DEFAULT_TIMEOUT |
클래스 | PascalCase | DateFormatter, User |
메서드 | camelCase | getElement, setData |
모듈 파일 | kebab-case, camelCase | date-utils.js, userProfile.js |
Python
구성 요소 | 네이밍 스타일 | 예시 |
변수 및 함수 | snake_case | calculate_age, update_profile |
상수 | UPPER_CASE | MAX_SIZE, DEFAULT_COLOR |
클래스 및 예외 | PascalCase | BankAccount, ValueError |
모듈 및 패키지 | 소문자 (가능하면 언더스코어 포함) | math, numpy, os |
메서드 및 인스턴스 변수 | snake_case | get_data, set_value |
비공개 변수 | _ (언더스코어) 시작 | _internal_cache, __private_var |
Rust
구성 요소 | 네이밍 스타일 | 예시 |
변수 및 함수 | snake_case | player_score, update_inventory |
상수 | SCREAMING_SNAKE_CASE | MAX_HEIGHT, DEFAULT_COLOR |
타입 (구조체, 열거형, 트레잇) | PascalCase | User, ThreadState |
매크로 | snake_case | println!, vec! |
특성 및 수명 | snake_case, PascalCase | 'static, Readable |
C#
구성 요소 | 네이밍 스타일 | 예시 |
로컬 변수 | camelCase | localIndex, itemPrice |
필드 (private) | _camelCase | _value, _count |
상수 | UPPER_CASE | MAX_SIZE, DEFAULT_VALUE |
프로퍼티 | PascalCase | BackColor, MainForm |
메서드 | PascalCase | SaveDocument, FindById |
클래스 및 인터페이스 | PascalCase | StreamReader, IEnumerable |
열거형(enum) | PascalCase | Color, LogLevel |
열거형 값 | PascalCase | Red, Verbose |
네임스페이스 | PascalCase | System.Collections.Generic |
HTML과 CSS에서는 주로 kebab-case를 사용하는 것이 관습적입니다.
그러나 JavaScript와 상호작용이 많은 경우 camelCase를 사용하기도 합니다.
HTML
구성요소 | 네이밍 스타일 | 예시 |
태그 (Elements) | 소문자 | <div>, <table> |
속성 (Attributes) | 소문자 | type="text", href="#" |
ID | kebab-case, camelCase | nav-bar, mainContent |
클래스 (Classes) | kebab-case, camelCase | button-primary, userInfo |
CSS
구성 요소 | 네이밍 스타일 | 예시 |
클래스 (Classes) | kebab-case, camelCase | .menu-item, .cardContainer |
ID | kebab-case, camelCase | #submitButton, #footerContent |
애니메이션 이름 (Keyframes) | camelCase | @keyframes fadeIn, @keyframes slideIn |
C++
공식적으로 통일된 가이드가 없습니다.
구성 요소 | 네이밍 스타일 | 예시 |
변수 | snake_case | file_size, user_count |
상수 | UPPER_CASE | MAX_WIDTH, DEFAULT_VALUE |
함수 | camelCase | calculateSpeed, isValid |
클래스 및 구조체 | PascalCase | DocumentEditor, FileReader |
메서드 | camelCase | getDocument, setUser |
네임스페이스 | snake_case | graphics_utils, std |
템플릿 매개변수 | PascalCase | typename T, class Node |
열거형(enum) | PascalCase | Color, ErrorCode |
열거형 값 | UPPER_CASE or PascalCase | BLUE, NotFound |
매크로 (전처리 지시자) | UPPER_CASE | #define PI 3.14159 |
cf.)
Hungarian notation (헝가리안 표기법)
변수의 이름 앞에 변수의 타입을 나타내는 접두어를 붙입니다.
m_HungranNotation
mHungranNotation
strHungranNotation
이 표기법은 과거에 마이크로소프트에서 개발자들이 사용했으나
현재는 타입 추론 기능이 강화되면서 사라지고 있습니다.
'개발 > 기타' 카테고리의 다른 글
당근 직거래 후기 - PS4 제트 블랙 (0) | 2024.11.19 |
---|---|
그럴리가 없는데, PostgreSQL CPU 100% 문제 해결 (0) | 2024.11.14 |
윈도우 11 마우스 휠 방향 변경 : 끝까지 파헤치기 (0) | 2024.11.13 |
VSCode 터미널에서 도커 컨테이너 사용 중 빠져나오기. (0) | 2024.05.19 |
보안을 위한 크롬 브라우저의 포트 차단 정책. (0) | 2024.05.18 |
설치 없이 안드로이드와 윈도우 PC 미러링. (0) | 2024.05.17 |
GIMP에서 Scheme 스크립트로 이미지 자동 크기 조절하기. (0) | 2024.05.16 |
VI 편집기 필수 명령어. (0) | 2024.05.12 |