헝가리안 표기법은 대형 프로그램 개발에 있어서 변수를 체계적으로 사용하기 위한 방법입니다. 프로그래밍에 있어서 기본이라고 할 수 있습니다. 그러나, 헝가리안 표기법이 대형 프로그램 개발에 있어서 변수명 설정의 표준은 아닙니다.
저의 경우에는, 변수명을 한글 key로 입력했을때 입력되는 영어 key(즉, 플레이어재정 -> int vmffpdldjwowjd; 이렇게 사용)을 선호하고 있으며, 함수가 많이 사용되는 프로그램 개발에 있어서는 접두사(bf,af)을 혼합한 약자체(passwd,character)을 사용하고 있습니다. 즉, 대응전의 변수를 char bf_character이라고 하면, 대응 후를 char af_character로 사용하는 방법입니다.
프로그래머 마다 선호하는 변수 표기가 다를 수 있습니다. 대형 프로그램 개발에 있어서 변수명을 어떻게 사용하는가는 전적으로 프로그래머의 마음에 달려있는 것입니다.
헝가리안 표기법
| 접두어 | 의미 |
|---|---|
| a | 배열 |
| b 또는 f | BOOL형 변수(b는 "bool", f는 "flag"의 약자) |
| by | BYTE (unsigned char)형 변수 |
| c | 카운터로 사용되는 변수 |
| ch | char형 변수 |
| cx, cy | x, y 길이를 나타내기 위해 사용되는 변수 |
| d | 날짜형 변수 |
| dbl | double형 변수 |
| h | 핸들(HANDLE)형 변수 |
| n 또는 i | int형 변수 |
| l | long형 변수 |
| p | 포인터 변수 |
| lp | long (far) 포인터 변수(32비트 프로그래밍에서는 일반 포인터와 같음) |
| s | 문자열 |
| sz | 널(NULL)로 끝나는 문자열 |
| u | unsigned int형 변수 |
| w | WORD(unsigned short)형 변수 |
| dw | DWORD(unsigned long)형 변수 |
| str | CString형 변수 |
| m_ | 멤버 변수 |
1. int i; -> int iNumber
2. bool br; -> bool bBoolean
3. char a; -> char chKeyword
4. char Name[32]; -> char aName[32]
5.
struct DATA
{
int age; -> int m_iAge
char Name[32]; -> char m_chName[32]
char Address[64]; -> char m_chAddress[64]
};
6. void test(void) { printf("hello world"); };
-> 이부분은 헝가리안 표기법이라기 보다는 들여쓰기 스타일로 봐야할듯
- function(...) {
....
}
- function(...)
{
....
}
- function(...)
{
....
}
7. int *i = new int;
-> int *pPointer = new int;
이글루스 가든 - 프로그래머 최고수가 되는 길
|









덧글
http://debop.egloos.com/3582898
http://seorenn.egloos.com/4320598
특히 라이너스 토발즈가 싫어하는 것 같네요.
심지어는 변수, 함수 네이밍에 신경을 써야 하냐는 초보적인 발언도 서슴치 않고 있습니다.
하지만, 분명히 알아야 하는 것은 네이밍의 기준을 어떤것을 삼든 상관은 없지만, 개인 홈페이지나 개인 프로그램을 만드는 것이 아니라면 적어도 인수인계가 되어야 할 프로그래밍이라면 내가 아닌 나와 함께 프로그램을 하는 팀원이나 인수자를 위해서도 네이밍에 신중을 기해야 한다는 것입니다.
혼자하는 프로그래밍에서는 필수사항은 아니지만 팀프로젝트를 하기 위해서는 네이밍은 가장 중요한 사안이기에 기획단계에서 네이밍 기본 정의서를 배포합니다.
특히, 대기업 프로젝트에서는 자체에 규정된 네이밍 규칙서에 따르지 않으면 운영이관도 안 되는 곳도 많습니다.
헝가리안 이든 어떤 식이든 네이밍의 규약은 필요하기에 참고자료로 예전 블로그의 올렸던 포스트를 이관해왔습니다.
좋은 정보 감사합니다.