마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

변수명에 m 을 붙이는 이유?

+1 추천
구글 개발자 공간의 예제 코드들을 보면

 

Handler mHandler;

와 같이. 변수명에 m을 붙이는데요. (클래스 변수일 경우에 붙이는듯..)

 

유저들이 작성하고 배포하는 라이브러리도 mHandler..mAlarmManager...

심지어 자신들이 만든 클래스를 변수화 할때도 m을 붙이더라구요.

mClassName...과 같은 식으로?

 

왜 이렇게 선언하는지 어떠한 암묵적인 규칙이 있나요?

 

저는 해당 변수는 역할을 명시해야 한다고 생각해서..

예를 들어 TextView를 변경하는 핸들러라면..

changeTextViewHandler...처럼 역할을 명시하는 쪽으로 선언하고 있는데..

 

굳이 m을 붙이는 이유나 목적이 있나요?

배포되어있는 라이브러리들도 이렇게 배포를 하니까 약간 혼란이 와서 질문드립니다.^^

 

즐거운 점심시간 되십쇼~!
안드로이드로우 (15,740 포인트) 님이 2014년 12월 23일 질문

5개의 답변

+4 추천
 
채택된 답변
헝가리안 표기법에서 유래된게 아닌가 싶습니다.

그냥 오래전부터 암묵적으로 지켜왔죠....m 은 member의 첫글자로

클래스의 변수명 앞에 붙여서 사용해왔습니다.

 

지역변수와 클래스변수와의 구분을 위해서 지금도 대부분 지켜지고 있습니다.
바램 (19,650 포인트) 님이 2014년 12월 23일 답변
안드로이드로우님이 2015년 1월 8일 채택됨
+1 추천
그런건 상관없구요 큰회사의 경우 코딩규칙을 가지고 있어요

삼성,LG 등등도 코딩규칙(가이드라인) 이 있어요

표준 이런건 아니고 주로 규모가 프로젝트는 협업이 중요해서 코딩스타일을 맞춤으로 인해서 관리가 편해지는 이점이 있죠~

혼자 하는거라면 그냥 사람들이 많이 쓰는 방식을 쓰거나 자신만의 방식으로 하면되요
하늘아륑 (16,800 포인트) 님이 2014년 12월 23일 답변
+1 추천
왜냐하면 다른사람의 소스를 보는일은 매우 불쾌한 일이 될수 있거든요.

변수명의 규칙도없고, 의미도없고, 뒤죽박죽이고, 자신만아는 변수명이나 형식들을 사용하면

협업못합니다ㅎㅎ

다른사람이 내껄봐도 뒤에서 욕하는지도모르고, 내가 다른사람꺼보면 욕나오는 경우가 많죠.

 

만약 둘 이상 하나의 프로젝트를 한다면?

당연히 룰을 지켜가면서 해야 서로 기분이 안상하겠죠.

 

m은 멤버할때 m이구요, 스태틱변수는 앞에 보통 s를 붙여서 이건 스태틱이다 라고 명시를 해줍니다.

가독성을 빠르게 해주는 수단이라고 보시면됩니다.
기초개발자 (24,060 포인트) 님이 2014년 12월 23일 답변
+1 추천
편한데로 하시면 됩니다. 가독성이 가장 중요하구요.

 

회사라면 회사의 코딩규칙 같은게 있을테니 그거 따라가면 돼요.

 

단지 헝가리안 표기법을 사용하면 변수명만 보고도 이놈은 어떤 유형의 녀석이다는 것이 짐작이 가능하고

 

자바파일이 많아지고 프로젝트 규모가 커져도 유지보수가 편해지기 때문에 많은 회사들이 이렇게 쓰죠
익명사용자 (5,930 포인트) 님이 2014년 12월 23일 답변
0 추천
딱히 그런 규칙은 없습니다.

m을 붙인다는것은 아마도 구글본사의 정책일수도 있겠지요..

changeTextViewHandler 이렇게 역활을 명시하는것도 좋은 방법입니다.

향후 디버깅할때 편하겠네요
nicehee (73,100 포인트) 님이 2014년 12월 23일 답변
...