在变量或类名前面的_(下划线)中是否有标准?
我见过一些程序员在类名前面使用_
(下划线),而其他程序员则使用它作为局部变量。
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突出显示已足够,但可能对某些人有用。
- 当您使用现代LCD彩色显示器时,请不要使用_,使用Eclipse,Netbeans,IntelliJ,Android Studio等现代IDE。
- 当您需要使用仅带绿色或白色文本的旧式单色CRT显示器时,或者当您在LCD显示器上难以识别颜色时,请使用_ 。
- 您的代码协作者的共识优先于上述内容。