为什么Java程序员喜欢命名变量“clazz”?

时间:2010-03-27 16:18:10

标签: java naming-conventions

我见过很多代码都有Class clazz这样的声明,这是源于哪里?这是某种惯例吗?我认为'clazz'甚至不是英文单词,根本没有任何意义,这么多程序员怎么会巧妙地命名错误的名字呢?

10 个答案:

答案 0 :(得分:154)

自JDK 1.0起,

clazz已用于代替保留字“class”。 “class”是你想要的,但缩写或插入垃圾(“a”,“the”,“_”等)会降低清晰度。 clazz只是说课。 “国际”英语使用者(英语和美语阅读者)习惯于转置“s”和“z”。

由于Java从一开始就已经公开了源代码和合适的文化,因此有价值的Java代码和教程会采用相同的约定。这是Java生态系统的一大优势,我认为这是其成功的重要组成部分。

答案 1 :(得分:65)

因为他们不能使用他们想要使用的词,即'class'。这是保留的。

答案 2 :(得分:16)

这只是因为'class'是保留关键字,因此不允许Class class。因此,您会看到Class clazzClass cls

答案 3 :(得分:7)

它归结为实际的编译器及其区分令牌在其上下文中的含义的能力。但是,在这种特殊情况下,编译器的无效可以区分令牌class在不同上下文中的含义。 class无论其上下文如何用于表示类的声明,因此它是一个强硬的规则,因此它是一个保留字。这就像它获得的那样简单和低级。

如果您感到被迫,您可以编写自己的Java编译器以包含允许您使用class作为变量名称的上下文规则。虽然我认为使用clazzklass会更好地利用你的时间 - 但这对你的健康也有好处。

答案 4 :(得分:4)

  

这来自哪里?

我首先在Josh Bloch的益智游戏中看到了它。但我很确定其它开发人员早就使用它了。乔什布洛赫让它更有名。

答案 5 :(得分:4)

Java没有允许您将关键字用作标识符的功能,与C#及其@前缀不同(例如@class是有效的标识符。)

答案 6 :(得分:2)

它只是一个英文单词被Keyword Class Keyword取代(Equavalent),让人们明白它是一个类。它几乎是为了增加代码的可读性

这个

中没有任何重要的逻辑

答案 7 :(得分:2)

声明Class clazz在Java世界中很受欢迎,但对于新手和拼写者来说可能会很尴尬。我听说有些人说应该根据principle of least astonishment来避免。

由于可以说Class对象represents a type,我个人更愿意将此类变量声明为Class type

答案 8 :(得分:0)

我们使用clazz因为class是一个类型标题。例如,您在此处使用类:

public class HelloWorld {

在这里:

Object.class.getName();

所以不幸的是,我们必须使用其他名称,例如clazz。

答案 9 :(得分:-2)

简单地说,<h2>Brought to you by <b><a class="external" href="http://placeholdermag.com/">Placeholder Magazine</a></b>, the <b><a class="external" href="http://www.arts.ca.gov/">California Arts Council</a></b> and the <b><a class="external" href="http://www.stocktonca.gov/government/boardCom/sArts.html">Stockton Arts Commission</a></b>, <b><a class="external" href="http://tuleburgpress.com/">Tuleburg Press</a></b>, and are proud to announce Stockton's first Zine making workshop series for kids.</h2>具有class没有的类。