web-dev-qa-db-fra.com

Pourquoi les programmeurs de Java aiment-ils nommer une variable "clazz"?

J'ai vu beaucoup de codes avoir une déclaration comme Class clazz, d'où cela provient-il? Est-ce une sorte de convention? Je pense que "clazz" n'est même pas un mot anglais, n'a aucune signification, comment tant de programmeurs peuvent-ils nommer un nom incorrect par hasard?

142
Sawyer

clazz a été utilisé dans Java à la place du mot "classe" réservé depuis JDK 1.0. "classe" est ce que vous voulez, mais vous devez abréger ou insérer des indésirables ("a" , "le", "_", etc.) réduisent la clarté. clazz ne dit que la classe. Les anglophones "internationaux" (ceux qui lisent l'anglais britannique et américain) sont habitués à la transposition de 's' et de 'z'.

Depuis Java a identifié le code source et une culture appropriée depuis le début, il en vaut la peine Java reprennent les mêmes conventions. C’est l’un des grands avantages à propos de l’écosystème Java), qui, selon moi, a été une partie importante de son succès.

159

Parce qu'ils ne peuvent pas utiliser le mot qu'ils veulent utiliser, c'est-à-dire class. C'est réservé.

66
James K Polk

C'est simplement parce que 'classe' est un mot clé réservé, d'où Class class n'est pas autorisé. Par conséquent, vous verrez Class clazz ou Class cls.

16
sfussenegger

Cela dépend du compilateur lui-même et de sa capacité à distinguer le sens d'un jeton dans son contexte. Cependant, dans ce cas particulier, le compilateur est incapable de distinguer la signification du jeton class dans un contexte différent. C’est une règle absolue que class, quel que soit son contexte, sert à désigner la déclaration d’une classe et qu’il s’agit donc d’un mot réservé. C'est aussi simple et aussi bas que possible.

Si vous vous sentez obligé, vous pouvez écrire votre propre compilateur Java pour inclure une règle contextuelle vous permettant d'utiliser class comme nom de variable. Bien que je pense que ce serait loin mieux utiliser votre temps pour simplement utiliser clazz ou klass - ce serait probablement aussi bon pour votre santé.

7
John

d'où vient-il?

Je l'ai d'abord vu aux puzzlers de Josh Bloch. Mais je suis sûr qu'il a été utilisé beaucoup plus tôt par d'autres développeurs. Josh Bloch vient de le rendre plus célèbre.

4
Roman

Java ne dispose pas d'une fonctionnalité vous permettant d'utiliser un mot clé comme identifiant, contrairement à C # avec son @ préfixe (par exemple @class est un identifiant valide.)

4
finnw

Déclaration Class clazz est populaire dans le monde Java, mais cela peut être gênant pour les nouveaux arrivants et les correcteurs orthographiques. J'ai entendu certaines personnes dire que cela devrait être évité selon principe de moindre surprise .

Comme il est possible de dire qu'un objet Classreprésente un type , je préfère personnellement le déclarer des variables comme Class type.

2
Michal Kordas

C'est juste un mot anglais remplacé (Equavalent) par mot clé Classe, mot clé, pour faire comprendre aux gens qu'il s'agit d'une classe. et c'est presque augmenter la lisibilité du code

Rien de grand Logique impliqué dans cette

2
gmhk

Nous utilisons clazz car class est un en-tête de type. Par exemple, vous utilisez class ici:

public class HelloWorld {

et ici:

Object.class.getName();

Donc, malheureusement, nous devons utiliser des noms alternatifs tels que clazz.

0
Romejanic