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

인스턴스명 및 변수명 선언(의견 부탁)

0 추천
저같은 경우에 멤버변수 선언은 m을 맨 앞에 붙여서 표기하고,

지역변수는 그냥 소문자로만 표기를 하고 있습니다.

또한, 클래스 아래에 선언된 인스턴스 생성 시에는 ExampleClass mExampleClass = new ExampleClass(); 이런 식으로 선언하는데 다들 어떤 형식으로 하시나요?..

뜬금없이 인스턴스명 앞에는 'm'을 붙이는게 아닌가 하는 의문이 드네요.

저만 보는 소스면 상관이 없지만, 서비스로 제공하는 소스라 다들 어떻게 하시는지 궁금하네요!
쮸뿌쮸뿌 (2,470 포인트) 님이 2017년 1월 24일 질문

2개의 답변

0 추천

멤버변수에 m혹은 g (global) 을 붙이는 경우가 많구요 서비스로 제공하는 소스니 일관성을 유지하는게 낫겠죵

보통...

클래스명 : 파스칼 (앞이 대문자) , ex) TestClass

메서드 ,변수 : 카멜(앞이소문자이며 접두어가 대문자), ex) testMethod

상수 : UPPER CASE , TEST_CONSTANT = 1; 

이런식으로 쓰고 있습니다. 명명규칙 등으로 검색하면 많이 나오니 한번 검색해서 읽어보시길 ^^ 

-------------------------퍼온거 첨부함-------------------------------

또한 J2EE에서 권장하는 규칙은 아래와 같다.

  1. 클래스 이름의 첫 글자는 항상 대문자이어야 한다.
  2. 변수와 메서드의 이름 첫 글자는 소문자이어야 한다.
  3. 여러 단어로 이루어진 이름인 경우 각 단어의 첫 글자를 대문자로 한다.
  4. 상수의 이름은 모두 대문자로 한다. 또한 여러 단어로 이루어진 상수의 경우 각 단어를 ‘_’(언더바)로 구분한다.

위에서 설명한 바와 같이 각 언어 진영에서 제시하는 명명규칙이 있는가 하면, 회사마다 자신들만의 명명규칙을 정해 사용하기도 한다. 그러나 대부분이 Camel Case와 Pascal Case를 기본 뼈대로 하여 명명규칙을 정하게 된다. 이 규칙이 공식적 표준 규약은 아니지만, 프로그래밍 세계에서의 비공식적인 업계표준과 같은 역할을 하게 되어 어디에서도 이해하기 편리하기 때문이다.
출처: http://blog.hanseomgi.com/entry/명명-규칙변수명-규약-Naming-Rule-Naming-Convention-Java-명명규칙-HTML-명명규칙 [야자나무의 일상]

라쎄린드 (25,460 포인트) 님이 2017년 1월 24일 답변
정보 감사합니다. 현재 규칙대로 쓰고 있긴 한데 다른 개발자분들은 어떻게 쓰시는지 궁금하기도 해서요! C언어 하시는 분들은 변수앞에 p,n,g,m을 붙이더라구요. p,n은 뭘 의미하는지는 모르겠지만 g는 글로벌 변수, m은 멤버변수인 것 같아요. 보통 _ 도 변수명에 많이 쓰시나요?
또한 인스턴스 생성시 클래스 밑에 선언하시는 경우에는 m을 붙이시나요..?
네 거의 상수가 아닌경우에는 m 붙여서 합니다. _의 경우 코딩스타일이 다른분들이 간혹 사용하시는걸 봤는데 그냥 스타일중에 하나겠죠...
그리고 p는 포인터 n 은 정수를 의미합니다.
아하 정보 감사합니다!
네이티브 개발자들은 변수/함수 대문자로 시작하더군요 ㅋㅋ
근데 저도 가끔은 대문자로 시작하고 싶기도 해서요.. 전체적으로 코딩해놓은걸 보면 제 눈에는 그게 더 예쁜 것 같더라구요. 저만 보는 소스였다면 그렇게 할 것도 같아요. 근데 제공하는 소스다 보니 많은 사람들이 쓰는 규칙으로 맞추려는 것 뿐인데.. 이것도 귀찮네요ㅠㅠ..
약어 같은 경우는 변수명 그냥 대문자로 선언해주고 있어요...
Random data 같은 경우는 스펙에 표기되어 있는대로 RND_1 뭐 이런식으로..
문제가 되진 않겠죠..?
저는 굳이 약어로 안하고 변수명만 봐도 알 수 있게 이름을 정하는 편이에요.
0 추천

저는 m도 안 붙이고 바로 소문자로 시작해요.

private String myName;

색으로 알려줘서 굳이 안 붙여도 되더라고요. 

쎄미 (162,410 포인트) 님이 2017년 1월 24일 답변
그렇기도 하겠네요! 의견 감사합니다~
...