2013-11-25 2 views
1

나는 그 자체로 문제가 있다고 생각하지만, 여기에 내가 의미했던 바를 간략하게 설명해 준다. :Java 전역 변수 - 선언 규칙은 무엇입니까?

전역 변수를 선언하기 위해 어떤 규칙을 사용해야합니까? 나는 다음 중 어느 것을 사용해야합니까?

public class Variables { 

     private variable; 
     private Variable; 
     private VARIABLE; 

     private largerVariable; 
     private Larger_Variable; 
     private larger_variable; 
     private LARGER_VARIABLE; 
} 
+2

http://www.oracle.com/technetwork/java/javase/documentation/codeconventions-135099.html#367 –

+0

LARGER_VAR은 대부분의 프로그래머가 선호하는 글꼴입니다. –

+0

@KamleshArya 사실이 아닙니다. 이것은 ** bad ** 상수의 이름입니다. 나쁜 변수가 아닙니다 :) – Maroun

답변

2

몇 가지 규칙이 있습니다

  • 변수 이름은 대소 문자를 구분합니다. 변수의 이름은 문자, 달러 기호 "$"또는 밑줄 문자 ""으로 시작하는 유니 코드 문자 및 숫자의 무제한 시퀀스 인 유효한 식별자 일 수 있습니다. 그러나 규칙은 변수 이름을 항상 "$"또는 ""이 아닌 문자로 시작하는 것입니다. 또한, 관습에 따라 달러 기호 문자는 전혀 사용되지 않습니다. 자동 생성 된 이름에 달러 기호가 포함될 수도 있지만 변수 이름은 항상 사용하지 않아야합니다. 밑줄 문자에도 비슷한 규칙이 적용됩니다. 변수 이름을 "_"로 시작하는 것은 기술적으로 합법적이지만이 방법은 권장하지 않습니다. 공백은 허용되지 않습니다.
  • 이어지는 문자는 문자, 숫자, 달러 기호 또는 밑줄 문자가 될 수 있습니다. 규칙 (및 상식)이이 규칙에도 적용됩니다. 변수의 이름을 선택할 때는 숨겨진 약자 대신 완전한 단어를 사용하십시오. 이렇게하면 코드를 읽고 이해하기가 더 쉬워집니다. 대부분의 경우 코드가 자동으로 문서화됩니다. 케이던스, 속도 및 기어라는 필드는 s, c 및 g와 같은 축약 된 버전보다 훨씬 직관적입니다. 또한 선택한 이름은 키워드 또는 예약어 여서는 안됩니다.
  • 선택한 이름이 한 단어로만 구성된 경우 그 단어를 모두 소문자로 철자하십시오. 둘 이상의 단어로 구성된 경우 각 단어의 첫 글자를 대문자로하십시오. gearRatio 및 currentGear 이름은이 규칙의 가장 중요한 예입니다. static final int NUM_GEARS = 6과 같이 변수에 상수 값이 저장되면 모든 문자를 대문자로 바꾸고 이어지는 단어를 밑줄 문자로 분리하여 규칙이 약간 변경됩니다. 관습에 따라 밑줄 문자는 다른 곳에서 사용되지 않습니다. 나는 (명명 규칙에 의해), 유효한 이름이 규칙을 잘 읽으면 여기 http://docs.oracle.com/javase/tutorial/java/nutsandbolts/variables.html

    에서

은 다음과 같습니다

private Object largerVariable; 
private Object LARGER_VARIABLE; 
+3

상수에'LARGER_VARIABLE'을 사용해야합니다. –

+0

정말로 변수에 대해서는''largerVariable''과 상수에 대해서''LARGER_VARIABLES''가 있다고 생각합니다. 고마워요. –

0

내가 연습 클래스 수준 변수로 ... 을 글로벌 수단 클래스 레벨을 assumming하고 그 모든 클래스의 방법으로 액세스 할 수 있도록 대부분의 경우 그들은 정적으로 표시됩니다 대문자로 작성해야합니다. 또한 초기화가 한 번만 수행된다고 생각되면 최종적으로 고려해야합니다.

올바른 선언 될 수있다 :

private static VARIABLE; 
private static LARGER_VARIABLE; 
0

자바는 '글로벌'변수 같은 것은이 없습니다. 그러나 다른 클래스에서 액세스 할 수있는 상수를 사용하려는 경우 대부분의 사람들은 public static final 변수를 선언하고 해당 값으로 즉시 초기화합니다.

public class HttpCodes { 
    public static final String NOT_FOUND = "404"; 
} 

는 다른 클래스에 의해 액세스 될 수 있습니다 HttpCodes.NOT_FOUND

당신이 그것을 인스턴스 변수를 만들려고 노력하는 경우, 예를 들어 낙타 표기법 private final String notFound = "404"과 함께 할 것입니다.

1

또 다른 생각들이 변경 될 수 없도록 상수를 선언하는 것입니다 :

private static final boolean POWER_ON = true; 

또한, 내가 부울 상수를 정의해야하는 경우, 나는 그들이 긍정적 (참) 그래서보다는 그것을 정의하려고 부정 (거짓)이므로 너무 쉽게 생각하지 않고 파악하기 쉽습니다. 예 :

private static final boolean POWER_ON = true; 

오히려 이보다 :

private static final boolean POWER_OFF = false; 

또 다른 고려 사항 : 부울 변수의 경우, 내가 '입니다'또는 '가'로 단어를 선행하는 것이 좋습니다

나는이 사용 그 단어로부터 명백하지 않으면 그 부울을 나타 내기 위해. 예 : IS_RADIOACTIVE.

마지막으로! POWER_ON은 java 문과 동일한 의미이므로 POWER_ON 대신 POWER_ON을 정의해야합니다.