J'ai vu beaucoup de codes avec une déclaration comme Class clazz
, d'où cela vient-il? Est-ce une sorte de convention? Je pense que «clazz» n'est même pas un mot anglais, n'a aucun sens, comment tant de programmeurs peuvent-ils nommer un mauvais nom par hasard?
java
naming-conventions
Scieur
la source
la source
сlass
épeautre avec un cyrilliqueс
comme alternative.Réponses:
clazz
a été utilisé en Java à la place du mot réservé «classe» depuis JDK 1.0. "class" est ce que vous voulez, mais abréger ou insérer des fichiers indésirables ("a", "the", "_", etc.) réduit la clarté.clazz
dit juste la classe. Les anglophones «internationaux» (ceux qui lisent l'anglais britannique et américain) sont habitués à transposer «s» et «z».Étant donné que Java a divulgué la source et une culture appropriée dès le début, du code Java et des didacticiels intéressants reprennent les mêmes conventions. C'est l'un des avantages de l'écosystème Java, qui, à mon avis, a joué un rôle important dans son succès.
la source
Foo
défini au niveau de la portée de la classe etfoo
de la portée de la variable locale devrait être légal, mais toutes les références à la variable de la portée de la classe dans la portée du local devraient l'exigerthis.Foo
. Une telle règle serait ...someThing
certains endroits etsOmEtHiNg
chez les autres.fnord
et un champ appeléfnord
sans aucun problème, capitalisation ou mots absurdes. Je pense que cela suffira comme contre-exemple.Parce qu'ils ne peuvent pas utiliser le mot qu'ils veulent utiliser
class
. C'est réservé.la source
C'est simplement parce que 'class' est un mot clé réservé, donc
Class class
n'est pas autorisé. Par conséquent, vous verrezClass clazz
ouClass cls
.la source
Class
car il y a tellement de classes dans un projet donné qu'appeler une classe LA classe semble un peu inutile. Je ne peux pas non plus penser à une raison d'appeler un VARIABLEclass
...ClassInformation
,ClassMetadata
ou quelque chose de similaire. Chaque classe est une classe, mais vous ne les nommez pas toutesClass
, vous les nommez par leur fonction principale.Cela se résume au compilateur réel et à sa capacité à distinguer ce que signifie un jeton dans son contexte. Cependant, dans ce cas particulier, c'est l' incapacité du compilateur à distinguer ce que
class
signifie le jeton dans un contexte différent. C'est une règle dure et rapide quiclass
, quel que soit son contexte, est utilisée pour désigner la déclaration d'une classe, et en tant que telle, c'est un réservé mot . 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 qui vous permettra de l'utiliser
class
comme nom de variable. Bien que je pense que ce serait une bien meilleure utilisation de votre temps de simplement utiliserclazz
ouklass
- ce serait probablement aussi bon pour votre santé.la source
Je l'ai vu d'abord sur les énigmes de Josh Bloch. Mais je suis presque 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.
la source
Java n'a pas de fonctionnalité qui vous permet d'utiliser un mot-clé comme identifiant, contrairement à C # avec son
@
préfixe (par exemple,@class
est un identifiant valide.)la source
class
et$class
sont tous deux des identifiants valides (mais différents) dans la machine virtuelle Java. Il n'y a pas d'identifiant que vous pouvez écrire dans un fichier source Java qui se traduit"class"
dans la VM.C'est juste un mot anglais remplacé (Equavalent) par Keyword Class Keyword, pour faire comprendre aux gens qu'il s'agit d'une classe. et c'est presque pour augmenter la lisibilité du Code
Rien de grand logique impliqué dans ça
la source
La déclaration
Class clazz
est populaire dans le monde Java, mais elle peut être gênante pour les nouveaux arrivants et les vérificateurs orthographiques. J'ai entendu des gens dire que cela devrait être évité selon le principe du moindre étonnement .Comme il est possible de dire qu'un
Class
objet représente un type , je préfère personnellement déclarer des variables telles queClass type
.la source
Nous utilisons clazz car la classe est un en-tête de type. Par exemple, vous utilisez la classe ici:
et ici:
Donc, malheureusement, nous devons utiliser des noms alternatifs tels que clazz.
la source
En termes simples,
class
a une classe quiclazz
n'en a pas.la source