[java] Java 프로그래머가 변수 이름을 “clazz”로 지정하는 이유는 무엇입니까? [닫은]

나는 많은 코드가 다음과 같은 선언을 가지고 있음을 보았습니다 Class clazz. 이것은 일종의 관습입니까? 나는 ‘clazz’가 영어 단어가 아니라고 생각한다. 전혀 의미가 없다. 어떻게 많은 프로그래머들이 우연히 잘못된 이름을 말할 수 있을까?



답변

clazzJDK 1.0부터 예약어 “class”대신 Java에서 사용되었습니다. “class”는 원하는 것이지만 정크 ( “a”, “the”, “_”등)를 줄이거 나 삽입하면 명확성이 줄어 듭니다. clazz그냥 수업을 말합니다. “국제”영어 사용자 (영국 및 미국 영어를 읽는 사람)는 ‘s’와 ‘z’를 바꾸는 데 사용됩니다.

Java는 처음부터 소스와 적절한 문화를 공개했기 때문에 가치있는 Java 코드와 자습서는 동일한 규칙을 선택합니다. 이것이 Java 에코 시스템의 가장 큰 장점 중 하나이며, 이것이 성공의 중요한 부분이라고 생각합니다.


답변

그들은 사용하고자하는 단어를 사용할 수 없기 때문에입니다 class. 예약되어 있습니다.


답변

단순히 ‘class’가 예약 된 키워드이기 때문에 Class class허용되지 않습니다. 따라서 당신은 볼 Class clazz이나 Class cls.


답변

실제 컴파일러와 컨텍스트 내에서 토큰의 의미를 구별하는 기능이 있습니다. 그러나이 특별한 경우에, 토큰 이 다른 맥락에서 의미하는 것을 구별하는 것은 컴파일러의 능력 이 아닙니다 class. class문맥에 관계없이 클래스 선언을 나타내는 데 사용되는 예약 규칙이므로 어렵고 빠른 규칙입니다 . 그것이 얻는 것처럼 간단하고 저수준입니다.

강제적 인 느낌이 든다면 class변수 이름 으로 사용할 수있는 컨텍스트 규칙을 포함하도록 자체 Java 컴파일러를 작성할 수 있습니다 . 나는 그냥 사용하는 시간의 훨씬 더 나은 사용이 될 것이라고 생각하지만 clazzklass– 그것은 아마 당신의 건강을 위해 좋을뿐만 아니라 것입니다.


답변

이것은 어디에서 시작됩니까?

Josh Bloch의 퍼즐 게임에서 처음 봤습니다. 그러나 다른 개발자가 훨씬 일찍 사용했다고 확신합니다. 조쉬 블로흐가 방금 유명해졌습니다.


답변

Java에는 @접두사 @class가있는 C #과 달리 키워드를 식별자로 사용할 수있는 기능이 없습니다 (예 : 유효한 식별자).


답변

키워드 클래스 키워드로 대체 된 (동일한) 영어 단어이므로 사람들이 클래스라는 것을 이해할 수 있습니다. 코드의 가독성을 거의 높이는 것입니다

이것에 관련된 큰 논리는 없습니다.