닷넷에 오면서 헝가리안 표기법을 버린다는 말이 있기도 하고 사람들간에 필요에 대한 의견차가 많다.
최근 IDE(visual studio같은 개발 툴)가 발전하면서 마우스만 올려도 선언부분을 보여주기 때문에 가독성을 위해 프로그래밍이 어려워진다는 논리적 오류나 오히려 관리의 부재시 가독성이 떨어질 수도 있다는 것이 반대의견이다.
하지만 팀프로젝트에서 사용하기로 합의하여 사용할때나 보통 윈도우즈 프로그래밍에서는 헝가리안 표기법을 사용하며 윈도우즈API도 헝가리안 표기법을 사용하므로 이미 작성된 코드를 읽을때를 위해 알아야한다.
헝가리안 표기법 장단점에 대한 논쟁
Data Type |
Prefix |
Example |
Boolean |
b |
bContinue |
byte(unsigned char) |
by |
byNum |
Character | c | cFirstInitial |
Short |
n |
nIndex |
Int |
n 또는 i |
nIndex , iIndex |
Long | l | lCarCount |
Unsigned Integer(Word) | w | wCount |
Unsigned lnog integer(DWORD) | dw | dwAtomCount |
Float |
f |
fDistance |
Double |
d |
dMetres |
String |
s |
sCustomerName |
Null terminated String (\0로 끝나는 문자열) |
sz |
szCustomerName |
CString, char배열 |
str |
strCustomerName |
Pointer |
p |
pNext |
Long Pointer |
lp |
lpNext |
Function |
fn |
fnReport |
Class |
C |
CParser |
Class 멤버변수 |
m_ |
m_nextLink |
Global(전역변수) | g_ |
g_szDirectory |
함수의 인자로 들어온 변수 | i_ |
i_Array |
x축이나 y축으로 사용되는 정수 |
x, y |
xLeft, yTop |
Array | a | aYears |
Handle | h | hWnd |
Windows message |
msg |
msgCut |
자료출처
http://egloos.zum.com/limiteddaily/v/2856915