헝가리안 표기법이란?

먼저, 이 방식은 현 시점에선 보통 권장되지 않습니다. (여러가지 의견이 있을 수 있으나 저는 지양합니다.) 헝가리안 표기법은 변수나 함수의 인자 이름 앞에 데이터 타입을 접두어로 명시하는 코딩 규칙입니다. 예를 들어 숫자형식이면 n을 접두어로 써서 nCount, 배열이면 a를 접두어로 써서 aList와 같이 붙이는 방식입니다. Typescript interface라면 IComponentProps 같은 형식이 될 것 같네요 (취향이라 나중에 생각이 변할 수도 있지만 지금은 아.. 너무 싫어요 ㅋㅋㅋㅋ) 해당 방법이 등장했을 때는 IDE가 지금만큼 도움을 주지 못할 때였습니다. vi같은 환경에서 개발하려면 해당 방법은 엄청 실용적이었습니다. 실제로 변수 타입이 명시되어 있으니 쓸모 있기도 합니다. 하지만 지금 와서는 어떨까요? 오히려 코드 파악이나 유지보수에 불편함을 더 할 수도 있다고 생각합니다. 오히려 변수명을 기억하는데 오버헤드를 더할 수 있을거 같습니다. 요샌 변수명도 semantic한 의미를 고민하면서 짓고 있는데 불필요한 접두어가 더해지는 형식입니다. 접두사 방식보단 해당 타입을 추론할 수 있도록 변수명을 짓는게 좋지 않을까요? 단순하게 생각해도 aItems 보단 itemList가 더 좋은 변수명인 것 같습니다. 그리고 IDE가 좋아져서 다행이지 해당 변수가 타입이 바뀐다고 하면 모든 코드를 전수조사해서 하나하나 다 바꿔줘야했을 겁니다. 또, 동적 언어인 Javascript 같은 언어에서 쓴다고 생각해보세요. 정말로 필요할까요..? 헝가리안 표기법을 만들 당시에는 적절한 방법이었으나 현대 IDE의 발전으로 지금은 굳이 필요할까 하는 생각이 드는 표기법입니다. 헝가리안 표기법에 대한 너무 편협한 글이었나 싶어 또 다르게 생각해보면, 여전히 vi 같은 툴로 IDE의 지원을 받지않고 정적 타입 언어를 코딩하신다면 또 괜찮은 방법일 수도 있을거 같다는 생각도 듭니다. 마지막으로 헝가리안 표기법 사용에 대한 stackoverflow 질문(+ 논의)이 있어 해당 링크 첨부드리면서 글 마칩니다..!

Why shouldn't I use "Hungarian Notation"?

Stack Overflow

Why shouldn't I use "Hungarian Notation"?

다음 내용이 궁금하다면?

지금 간편 가입하고 다음 내용을 확인해 보세요!

또는

이미 회원이신가요?

2022년 11월 14일 오후 2:55

댓글 0