在变量或类名前面的_(下划线)中是否有标准?

我见过一些程序员在类名前面使用_ (下划线),而其他程序员则使用它作为局部变量。

Java标准是否要求/建议在私有实例变量或类名前面使用_(下划线)?

这是个人品味的问题。

Martin Fowler似乎喜欢它。 我并不在乎它 – 它打破了读取模式,它传达的信息已经巧妙地通过IDE中的颜色告知。

我已经尝试使用_作为变量的名称,保存结果由方法返回。 它非常简洁,但我最终认为名称result更好。

所以,让你的同事就你最喜欢的东西达成一致,然后就这样做。

我认为像这样的工件是预IDE和C ++复古。 不要这样做。

如果你想遵循最佳实践java,请使用此处列出的代码约定http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html

即,私有成员变量名称没有下划线。

但是,就个人而言,只要应用一致性,我就不会双向融合。

许多人(包括我自己)在字段名称前面使用_。 这样做的原因是很容易将它们与局部变量区分开来。 然而,在IDE的时代,这并不是必需的,因为语法高亮显示了这一点。 在类名前面使用下划线是错误的。 按照惯例,类名以大写字母开头。

很多人都是变量,因为它使它们脱颖而出。 就个人而言,我讨厌它主要是因为方法在大多数情况下应该不超过10行代码(我几乎不会超过20行)。 如果你看不到变量在10行以下不是本地的那么就有错误:-)

如果你有100行方法,并且你没有在块的顶部声明它们用于它们的所有变量,我可以看到你为什么要使用_来区分它们…当然,和大多数事情一样,如果疼,那就停止做吧!

在变量之前使用_有助于在一种情况下,如果开发人员想要在有意或无意中使用标准/关键字作为变量名称。 如果它具有附加特征,则不会产生冲突。

似乎是一种惯例,声明如果下划线用作方法名称中的初始字符,则无法覆盖该方法。

例如,在JSP的上下文中,无法覆盖_jspService()方法。

但是,我找不到任何符合上述惯例的文件。

我同意这里的其他人……如果你只是使用命名标准,它会违反标准,并没有真正为你买任何东西。 如果您需要知道类和局部变量之间的区别,请尝试命名约定,如lVariableName,其中l用于指示它是本地的。 对我来说这是不必要的,因为IDE突出显示已足够,但可能对某些人有用。

  1. 您使用现代LCD彩色显示器时,不要使用_,使用Eclipse,Netbeans,IntelliJ,Android Studio等现代IDE。
  2. 您需要使用仅带绿色或白色文本的旧式单色CRT显示器时,或者当您在LCD显示器上难以识别颜色时,使用_
  3. 您的代码协作者的共识优先于上述内容。