나는 많은 코드가 다음과 같은 선언을 가지고 있음을 보았습니다 Class clazz
. 이것은 일종의 관습입니까? 나는 'clazz'가 영어 단어가 아니라고 생각한다. 전혀 의미가 없다. 어떻게 많은 프로그래머들이 우연히 잘못된 이름을 말할 수 있을까?
나는 많은 코드가 다음과 같은 선언을 가지고 있음을 보았습니다 Class clazz
. 이것은 일종의 관습입니까? 나는 'clazz'가 영어 단어가 아니라고 생각한다. 전혀 의미가 없다. 어떻게 많은 프로그래머들이 우연히 잘못된 이름을 말할 수 있을까?
답변:
clazz
JDK 1.0부터 예약어 "class"대신 Java에서 사용되었습니다. "class"는 원하는 것이지만 정크 ( "a", "the", "_"등)를 줄이거 나 삽입하면 명확성이 줄어 듭니다. clazz
그냥 수업을 말합니다. "국제"영어 사용자 (영국 및 미국 영어를 읽는 사람)는 's'와 'z'를 바꾸는 데 사용됩니다.
Java는 처음부터 소스와 적절한 문화를 공개했기 때문에 가치있는 Java 코드와 자습서는 동일한 규칙을 선택합니다. 이것이 Java 에코 시스템의 가장 큰 장점 중 하나이며, 이것이 성공의 중요한 부분이라고 생각합니다.
Foo
클래스 범위에서와 정의 된 foo
지역 변수 범위에서하는 것은 법적해야하지만, 지역의 범위 내에서 클래스 범위 변수에 대한 모든 참조가 필요합니다 this.Foo
. 그러한 규칙은 ...
someThing
일부 장소에서 식별자의 철자를 허용 할 실제적인 이유는 없습니다. sOmEtHiNg
다른 사람들에게.
fnord
호출 된 필드와 호출 된 필드를 사용 fnord
하지 않아도됩니다. 나는 이것이 반례로 충분하다고 생각합니다.
그들은 사용하고자하는 단어를 사용할 수 없기 때문에입니다 class
. 예약되어 있습니다.
단순히 'class'가 예약 된 키워드이기 때문에 Class class
허용되지 않습니다. 따라서 당신은 볼 Class clazz
이나 Class cls
.
Class
주어진 프로젝트에 클래스가 너무 많아 클래스를 호출하는 것이 무의미 해 보이기 때문에 클래스 이름을 지정할 이유를 생각할 수 없습니다 . 나는 또한 VARIABLE이라고 부르는 이유를 생각할 수 없다 class
...
ClassInformation
, 또는 ClassMetadata
또는 비슷한. 모든 클래스는 클래스이지만 모두 이름을 지정하지는 않고 Class
주요 기능으로 이름을 지정합니다.
실제 컴파일러와 컨텍스트 내에서 토큰의 의미를 구별하는 기능이 있습니다. 그러나이 특별한 경우에, 토큰 이 다른 맥락에서 의미하는 것을 구별하는 것은 컴파일러의 능력 이 아닙니다 class
. class
문맥에 관계없이 클래스 선언을 나타내는 데 사용되는 예약 규칙이므로 어렵고 빠른 규칙입니다 . 그것이 얻는 것처럼 간단하고 저수준입니다.
강제적 인 느낌이 든다면 class
변수 이름 으로 사용할 수있는 컨텍스트 규칙을 포함하도록 자체 Java 컴파일러를 작성할 수 있습니다 . 나는 그냥 사용하는 시간의 훨씬 더 나은 사용이 될 것이라고 생각하지만 clazz
나 klass
- 그것은 아마 당신의 건강을 위해 좋을뿐만 아니라 것입니다.
선언 Class clazz
은 Java 세계에서 인기가 있지만 초보자와 맞춤법 검사기에게는 어색 할 수 있습니다. 나는 사람들 이 최소한 놀랍게도 원칙에 따라 피해야한다고 말하는 것을 들었습니다 .
Class
객체 가 유형을 나타낸다고 말할 수 있으므로 개인적으로 변수를 선언하는 것을 선호합니다 Class type
.
간단히 말해서, 그렇지 않은 class
수업이 clazz
있습니다.