헝가리안 표기법이란, 변수의 이름에 타입과 쓰임새 등등을 붙이는 표기법이다.

예를 들면,
iNumber -> int,
sUri -> String
등등 변수명 앞에 데이터 타입을 명시하거나
m_iNumber -> member variable로 선언한 int타입의 변수 number처럼 scope의 개념도 명시한다.
같은 맥락으로 obj_json_data 등등 사용하기도 한다.

유지보수 업무를 많이 한 탓인지, 오래된 코드를 많이 본 탓에
전혀 위화감 없이 코드를 읽어 나가는데 무리가 없었고
자연스럽게 해당 소스를 수정할 때에는 패턴을 맞추어 헝가리안 표기법을 사용하는 본인이 보였다.

std::string m_str_uri = "";


이후에 코드리뷰를 하면서 이게 뭔줄알고 따라 했냐 왜 여기서 이렇게 변수명을 사용했냐는 질문에
m은 멤버변수를 뜻하는거고 str은 String을 뜻하고 uri를 받는 용도로 필요해서 사용했다고 했으나
이제는 사용하지 않는 표기법으로 리뷰를 마치게 됐다.

그러나 여전히 내부코드 외에 사용하는 lib나 특수한 용도의 변수는 헝가리안 표기법을 사용하는 관습이 남아있는 것으로 보인다.

헝가리안 표기법
장점)
우선 장점이라 한다면, 자료형만 바로바로 떠올릴수 있다면 누가 봐도 어떤 용도의 변수인지 알 수 있을 정도의 명시성

단점)
변수명이 너무 길어짐.

특수성)
IDE를 사용 할 수 없는 개발 환경이라면 필수
IDE를 사용 한다면, IDE가 알아서 변수에 대해서 설명해줌

728x90
반응형

+ Recent posts