변수명을 선언하는 규칙과 헝가리안 표기법
C언어는 소프트웨어 개발의 기초가 되는 언어로, 성능과 효율성을 중시하는 저수준 프로그래밍 언어입니다. C언어에서는 프로그램의 가독성과 유지보수성을 높이기 위해 변수명을 적절하게 짓는 것이 중요합니다. 변수명은 코드의 의미를 직관적으로 전달할 수 있어야 하며, 그 역할에 맞는 이름을 사용하는 것이 좋습니다. 이번 글에서는 C언어에서 변수명을 짓는 기본 규칙과, 헝가리안 표기법이라는 특정 명명 규칙에 대해 이야기 해보겠습니다.
변수명 선언 기본 규칙
C언어에서 변수명을 선언하기 위해서는 몇 가지 기본적인 규칙을 따르는 것이 좋습니다. 이를 통해 코드의 가독성과 유지보수성을 높일 수 있습니다.
- 알파벳, 숫자, 밑줄(_)만 사용 가능 : 변수명은 알파벳 대소문자(AZ, az), 숫자(0 ~ 9), 그리고 밑줄(_)로 구성될 수 있습니다. 다만, 변수명은 숫자로 시작할 수 없으며, 첫 번째 문자는 반드시 알파벳이나 밑줄이어야 합니다.
int count; // 올바른 변수명
float _number; // 올바른 변수명
int 2count; // 잘못된 변수명 (숫자로 시작) - 대소문자 구분 : C언어는 대소문자를 구분하기 때문에 age와 Age는 서로 다른 변수로 인식됩니다. 따라서 대소문자를 구분한 규칙을 잘 설정해 사용하는 것이 좋습니다.
int count;
int Count; // 'count'와는 다른 변수 - 예약어 사용 금지 : C언어에는 미리 정의된 예약어들이 있으며, 변수명으로 예약어를 사용할 수 없습니다. 예를 들어, int, return, if 같은 키워드는 변수명으로 사용할 수 없습니다.
int int; // 잘못된 변수명 (예약어 사용) - 변수명은 의미를 담아야 함 : 변수명은 해당 변수가 어떤 역할을 하는지 명확하게 설명할 수 있어야 합니다. 단순한 알파벳 한 글자나 의미 없는 이름보다는 구체적인 의미를 담은 이름을 사용하는 것이 좋습니다.
int x; // 의미를 알 수 없음
int age; // 나이를 저장하는 변수로 의미가 명확
변수명 선언 스타일
변수명을 짓는 스타일은 크게 두 가지로 나눌 수 있습니다. 첫 번째는 스네이크 케이스(snake_case)로, 단어 사이에 밑줄을 넣어 구분하는 방식입니다. 두 번째는 카멜 케이스(camelCase)로, 첫 단어는 소문자로 시작하고 두 번째 단어부터는 대문자로 시작하는 방식입니다.
- 스네이크 케이스 : int people_age;
- 카멜 케이스 : int peopleAge;
C언어 커뮤니티에서는 주로 스네이크 케이스를 사용하는 경우가 많지만, 상황에 따라 적절한 스타일을 선택할 수 있습니다.
헝가리안 표기법
헝가리안 표기법(Hungarian Notation)은 변수명 앞에 데이터 타입을 나타내는 접두어를 붙이는 명명 규칙입니다. 헝가리안 표기법의 주요 목적은 변수가 어떤 데이터 타입을 사용하는지 변수명만 보고도 쉽게 알 수 있도록 하는 것입니다. 이 방식은 주로 대규모 소프트웨어 프로젝트에서 변수의 데이터 타입을 명확히 구분하기 위해 사용되었습니다.
헝가리안 표기법은 크게 두 가지로 나뉩니다. 하나는 시스템 헝가리안 표기법(Systems Hungarian Notation)이고, 다른 하나는 애플리케이션 헝가리안 표기법(Apps Hungarian Notation)입니다.
- 시스템 헝가리안 표기법 : 이 방식에서는 변수가 가지고 있는 데이터 타입(int, float, char 등)을 접두어로 사용합니다.
ex)- iAge : int형 변수로 나이를 저장.
- fHeight : float형 변수로 키를 저장.
- cGrade : char형 변수로 학점을 저장.
int iAge = 25;
float fHeight = 180.5;
char cGrade = 'A';
- 애플리케이션 헝가리안 표기법 : 이 방식에서는 변수의 역할이나 용도를 접두어로 사용합니다. 예를 들어, 거리 정보를 저장하는 변수에 dist 접두어를 붙이는 방식입니다. 이는 시스템 헝가리안 표기법과 달리 데이터 타입보다는 변수의 역할에 중점을 둡니다.
ex)- distToDestination : 목적지까지의 거리를 나타내는 변수.
- ptrNext : 포인터를 의미하는 ptr 접두어를 붙인 변수.
int distToDestination = 100;
char* ptrNext = NULL;
헝가리안 표기법의 장단점
헝가리안 표기법은 변수의 데이터 타입이나 역할을 명확하게 해주기 때문에, 특히 코드가 복잡해질 때 가독성과 유지보수성을 높일 수 있습니다. 하지만, 헝가리안 표기법은 현대적인 개발 환경에서는 다소 불필요해진 경향이 있습니다. 최신 IDE(통합 개발 환경)에서는 변수의 타입을 쉽게 확인할 수 있으며, 코드가 길어질 수 있다는 단점도 존재합니다.
또한, 헝가리안 표기법은 변수명 앞에 많은 접두어가 붙어 변수의 본래 의미가 가려질 수 있으며, 변수명을 해석하는 데 더 많은 노력이 필요할 수 있습니다. 이러한 이유로 최근에는 헝가리안 표기법보다는 간결하고 직관적인 변수명을 짓는 경향이 더 강해졌습니다.
C언어에서 변수명을 짓는 것은 프로그램의 가독성과 유지보수성을 높이는 중요한 작업입니다. 기본적인 변수명 짓기 규칙을 따르면서, 상황에 맞게 헝가리안 표기법을 활용할 수 있습니다. 다만, 현대적인 개발 환경에서는 헝가리안 표기법이 필수적이지 않다는 점을 고려하여, 적절하게 변수명을 짓는 것이 중요합니다.
'코딩, 업무스킬' 카테고리의 다른 글
[맞춤법 #1] ~로서 / 로써, ~대 / 데, 않 / 안 (0) | 2024.11.16 |
---|---|
업무에 도움되는 엑셀 단축키 (1) | 2024.09.26 |
자주 사용하는 리눅스 명령어 10가지 (0) | 2024.09.23 |
[C, C++] 자료형 별 서식지정자 (0) | 2024.09.21 |