如何命名java方法本地常量?
如果常量仅用于方法的上下文中,则应在方法内声明(作为final
变量)。但应该使用什么语法?对我来说,最可读的方法是使用ALL_CAPS
,但checkstyle似乎不同意:
int compute(int n) {
final int FACTOR = 27;
return FACTOR * n;
}
将产生checkstyle警告:
Name 'FACTOR' must match pattern '^[a-z][a-zA-Z0-9]*$'.
答案 0 :(得分:3)
局部变量名用lowerCamelCase [...] 编写,即使是最终和不可变的,局部变量也不被认为是常量,不应该被设置为常量。
这也是Checkstyle的 LocalFinalVariableName 检查所采用的惯例。
答案 1 :(得分:1)
常量 - 声明类常量和变量的变量的名称 ANSI常量应全部为大写,单词分隔 下划线(" _")。 (为了方便起见,应避免使用ANSI常量 调试。)
来源:http://www.oracle.com/technetwork/java/codeconventions-135099.html
像这样:
final int FACTOR = 27;
int compute(int n) {
return FACTOR*n;
}
注意到因为它是一个常量字段,所以我把它移到了方法之外。
编辑2:
在方法中包含最终变量时,您应该遵循局部变量的代码约定:
变量 - 除变量外,所有实例,类和类常量都在 带有小写首字母的混合大小写。内部词开头 大写字母。变量名称不应以下划线_或开头 美元符号$字符,即使两者都被允许。
变量名称应该简短而有意义。选择一个 变量名应该是助记符 - 即设计用于指示 不经意的观察者使用它的意图。单字符变量名称 应该避免除临时"一次性"变量。共同 临时变量的名称是整数的i,j,k,m和n; C, d,和字符的e。
因此检查式警告。
答案 2 :(得分:0)
所有局部变量名都应该是小写字母。
int compute(int n) {
final int factor= 27;
return factor*n;
}
如果它的常量在方法外定义它并在ALL_CAPS
中命名答案 3 :(得分:0)
据我所知,大写符号仅用于公共"常量"因为他们构建了您的类或库的API的一部分。
如果使其成为方法局部变量,则应用变量的常规表示法。它只是"发生"是最后的。