【问题标题】:Should I use upper-case naming to declare java constant variables?我应该使用大写命名来声明 java 常量变量吗?
【发布时间】:2012-06-14 06:05:32
【问题描述】:

我的问题:常量 Java 变量(在方法中)的名称应该大写吗?

我一直觉得

a) 如果一个变量永远不会改变,它应该被声明为 final (以显示/强制它不会改变) b) 它应该以大写形式命名

但是,我在 Eclipse 中注意到,将变量(在方法内)更改为最终/常量,然后将其重构/重命名为如下所示:

final int NODE_COUNT = 3;

我收到以下警告:

不鼓励使用此名称。按照惯例,局部变量的名称应该以小写字母开头。

这让我想知道大写规则是否不适用于这种情况(即方法中的最终变量)。

【问题讨论】:

  • 抱歉冒昧了,但有没有人觉得“常量变量”这个短语很有趣?
  • 重读后我意识到这是一个矛盾的说法,可能应该是最终变量(???),但除非我弄错了,一旦声明了最终变量,它 是 最终的,因此在这一点上也变得不可变,再次使“最终变量”成为矛盾。有没有其他方式来描述这一点?
  • +1 强尼,请不要想太多!

标签: java eclipse coding-style naming-conventions


【解决方案1】:

类常量也应该是static(使它们成为类级别而不是实例级别),在这种情况下,Eclipse 不会警告您使用大写字母。

不过,方法常量的标识符应该以小写字母开头,所以我同意你的结论。

【讨论】:

  • 谢谢,虽然在我添加“静态”的方法中,我得到一个“参数 NODE_COUNT 的非法修饰符; only final is allowed' 错误,因此假设我不能在方法中使用静态。
  • @jonny 你不能将static 修饰符添加到任何方法内的变量中(不管它是否是静态的)。方法是动态的——你有你的逻辑,所以它的部分不能被定义为静态的......但是当然你可以使用你的类的静态文件,这些是常量。
【解决方案2】:

在方法中没有常量,只有局部变量,可以是final。所以使用以小写开头的普通 camelCase 非常适合那里。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-21
    • 1970-01-01
    • 1970-01-01
    • 2020-10-18
    • 2013-09-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多