【问题标题】:Use of underscore in variable and method names在变量名和方法名中使用下划线
【发布时间】:2013-05-28 06:24:17
【问题描述】:

我对(命名约定)在变量名和方法名中使用下划线_ 作为它们的起始字母感到困惑。例如_sampleVariable_getUserContext()。谁能澄清一下何时使用它?

【问题讨论】:

标签: java variables naming-conventions


【解决方案1】:

见 Java Naming Convetions

除变量外,所有实例、类和类常量都是大小写混合,首字母小写。内部单词以大写字母开头。变量名称不应以下划线 _ 或美元符号 $ 字符开头,即使两者都允许。

声明为类常量的变量名和 ANSI 常量名应全部大写,单词之间用下划线(“_”)分隔。 (应避免使用 ANSI 常量,以便于调试。)

【讨论】:

    【解决方案2】:

    有时人们使用下划线来表示他们的变量或方法是私有的。我不喜欢这种做法。我建议你也使用 camelCase。

    【讨论】:

      【解决方案3】:

      引用 Robert C Martin 的 Clean code 一书,

      有时警告其他程序员某些后果很有用。

      例子

      // Don't run unless you
      // have some time to kill.
      public void _testWithReallyBigFile() {
      writeLinesToFile(10000000);
      response.setBody(testFile);
      response.readyToSend(this);
      String responseString = output.toString(); assertSubString("Content-Length: 1000000000", responseString); assertTrue(bytesSent > 1000000000);
      }
      

      当然,现在我们会通过使用带有适当解释字符串的 @Ignore 属性来关闭测试用例。 @Ignore("运行时间太长").但是在 JUnit 4 之前的日子里,在方法名称前加下划线是一种常见的约定。

      【讨论】:

        【解决方案4】:

        通常不应使用,除非在通常是最终的所有大写常量(allStars 但 ALL_STARS)中用作分隔符。

        正是因为通常不预期,下划线在生成的代码中很丰富。它也可能在一些旧代码中找到,这不是继续使用它的原因。

        【讨论】:

          【解决方案5】:

          通常在变量中使用_来表示它们为类级别的私有变量。

          【讨论】:

          • 也许在____python____
          猜你喜欢
          • 1970-01-01
          • 2011-10-16
          • 1970-01-01
          • 1970-01-01
          • 2011-03-09
          • 2011-10-19
          • 2014-06-09
          • 1970-01-01
          • 2012-06-13
          相关资源
          最近更新 更多