Java中的变量命名约定?

在PHP中,我们(至少是优秀的程序员)总是以小写字母开始一般变量名,但是使用大写字母的类变量/对象来区分它们。 以同样的方式,我们用小写字母开始一般文件名,但是包含带大写字母的Classes的文件。

例如:

 

这些约定在java中是相同的,即以大写字母开头的对象,但是小写的其余部分,或者在我在其他地方阅读时,一切都以小写字母开头?

通常,所有变量都以小写字母开头:

 int count = 32; double conversionFactor = 1.5d; 

有些人喜欢在所有情况下放置静态常量:

 public static final double KILOGRAM_TO_POUND = 2.20462262; 

当你处理首字母缩略词时,事情变得更加烦人,你是否应该使用以下方面没有真正的标准:

 HTMLHandler myHtmlHandler; 

要么

 HTMLHandler myHTMLHandler. 

现在,无论哪种方式,请注意类名(Object,String,HTMLHandler)始终以大写字母开头,但单个对象变量以小写开头。

您可以在Java代码约定中找到命名。

快速摘要:

  • 对于类,请使用UpperCamelCase
  • 对于类成员和局部变量,使用lowerCamelCase
  • 对于包,请使用反向URI,例如org.acme.project.subsystem
  • 对于常量,请使用ALL_CAPS
  • variablesAndMethodsLikeThis
  • ClassesLikeThis
  • CONSTANTS_LIKE_THIS

惯例是类名以大写字母开头。 变量名是camelCase。 即使变量引用了一个对象,它仍然以小写字母开头。

这个页面应该有帮助。

您如何看待使用camelCase实例方法和PascalCase for static? 我认为它可能非常有用,因为在validation哪个方法是静态时不会有任何问题。 这是我的建议

惯例实际上取决于您编码的个别地方。

一般来说,从我看到的类是CamelCased(首先是大写),方法从小写开始,我看到的变量遍布整个地方(一些CamelCased,一些camelCase,第一个字母较低(编辑:如上所述)上面,这是常态),有些甚至用匈牙利表示法)。 这取决于您的风格和您正在进行的项目所采用的风格。

有些人(不是我)喜欢通过在实例变量前加上“this”来区分Method变量和Instance变量。 这也解决了将参数分配给同名的Instance变量时发生的问题:

 public ConstructorMethod(MyVar variable) { this.variable=variable; } 

但是后来有些人觉得你应该总是使用这种模式 – 但我并不为之疯狂 – 我认为如果你保持你的方法和类很小就太过分了。

此外,有些人使用命名模式参数。 当您从构造函数赋值给Instance变量时,这(再次)会派上用场:

 public ConstructorMethod(MyVar pVariable) { variable=pVariable; } 

通常模式是pVariable_variable 。 我偶尔会使用它,因为我发现它比这更具可读性,但它的缺点是使你的Javadocs可读性降低。

在任何情况下,我都不喜欢总是使用任何这些模式的想法,他们很高兴知道,但如果你真的需要帮助在整个代码中区分它们,告诉Eclipse以不同的颜色显示它们。