代码之家  ›  专栏  ›  技术社区  ›  Ashok Koyi

在变量或类名前面,在Java中有一个标准(下划线)吗?

  •  22
  • Ashok Koyi  · 技术社区  · 16 年前

    我见过一些程序员使用 _ (下划线)在类名前面,其他人将其用于局部变量。

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

    9 回复  |  直到 8 年前
        1
  •  27
  •   Thorbjørn Ravn Andersen    13 年前

    这是个人品味的问题。

    马丁·福勒似乎很喜欢。我不太在乎它——它打破了阅读模式,它所传达的信息已经被你的IDE中的颜色巧妙地告知了。

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

    所以,让你的同事在你们最喜欢的事情上达成一致,然后就这么做。

        2
  •  40
  •   duffymo    16 年前

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

        3
  •  17
  •   Chii    16 年前

    如果您想遵循最佳实践Java,请使用这里概述的代码约定。 http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html

    也就是说,私有成员变量名没有下划线。

    但是,就我个人而言,只要一致性适用,我也不会大惊小怪。

        4
  •  6
  •   Francis Upton IV    16 年前

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

        5
  •  3
  •   TofuBeer    16 年前

    很多人是这样的,比如变量,因为它让他们脱颖而出。就我个人而言,我讨厌它主要是因为方法在很大程度上不应该超过10行代码(我几乎从未超过20行)。如果你看不到一个变量在10行以下不是局部变量,那么就出现了错误:—)

    如果你有100行方法,并且你没有在块的顶部声明你所有的变量,它们被用于,我可以理解为什么你要用u来区分它们…当然,就像大多数事情一样,如果疼的话,就不要再做了!

        6
  •  1
  •   Pradeep    15 年前

    在开发人员有意或无意地使用标准/关键字作为变量名的情况下,在变量前使用uuu会有所帮助。如果它有一个附加的字符,就不会产生冲突。

        7
  •  1
  •   imdiva    13 年前

    这似乎是一种约定,即如果在方法名称中使用下划线作为初始字符,则不能重写该方法。

    例如,在JSP上下文中,不能重写“jspService()方法”。

    但是,我没有找到任何文件表明上述公约。

        8
  •  0
  •   PaulP1975    16 年前

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

        9
  •  0
  •   etoricky    8 年前
    1. 请勿在以下情况下使用 你使用现代的液晶彩色显示器,与现代的IDE,如Eclipse,NetBeans,Intellij,Android Studio。
    2. 使用时 您需要使用只有绿色或白色文本的旧式单色CRT显示器,或者当您在LCD显示器上难以识别颜色时。
    3. 您的代码合作者的共识将覆盖上述内容。