2017-09-25 250 views
-3

我在java类中有一个方法。java静态变量的命名约定

public void myMethod() { 
     final String methodName = "myMethod"; 
} 

当我通过声纳的分析运行这段代码,我得到的一个问题说

重命名这个常量名相匹配的正则表达式 “^ [AZ] [A-Z0- 9] (_ [A-Z0-9] +) $”

我这个变量的目的是用它记录仪语句来跟踪我的申请流程。

这个变量不是一个静态变量。我已经通过https://softwareengineering.stackexchange.com/questions/252243/naming-convention-final-fields-not-static。但我没有清晰的图片。谁能帮我给适当的命名约定我最后的(而不是静态)可变

+0

见https://softwareengineering.stackexchange.com/questions/252243/naming-convention-final-fields -not-static –

+0

一个字符串是不可变的。用“raw”值定义最终变量String就像定义一个常量。声纳将其分析为常量,然后要求您匹配常量的命名约定。 您应该通过将此局部变量更改为常量来改进您的代码,然后使用正确的命名约定。 声纳应该对此感到满意。 – Genu

回答

0

在java中最后一个变量名称通常宣布全部大写与

final String METHOD_NAME = "myMethod"; 
+0

java中的最终变量必须与正则表达式'^ [a-z] [a-zA-Z0-9] * $'匹配。 –

1

你说的是一个局部变量,作用于你的方法。 局部变量遵循大多数Java字段的命名约定,即camelBack

只有编译时常量(在类级别声明的static final字段)“需要”被大写,单词之间用下划线分隔。

一些文档页面:

+0

字段在类或实例级别上。不在方法级 - 在这里它们是局部变量。 – tbsalling

+0

@tbsalling错字,修正 - 谢谢。 – Mena