java 非静态最终变量的命名约定

Naming Convention for java final variable which is not static

我在 java class.

中有一个方法
public void myMethod() {
    final String methodName = "myMethod";
}

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

Rename this constant name to match the regular expression '^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$'

我使用此变量的目的是在 Logger 语句中使用它来跟踪我的应用程序流。

这个变量不是 static 变量。我经历了 https://softwareengineering.stackexchange.com/questions/252243/naming-convention-final-fields-not-static。但是我没有得到清晰的图片。有人可以帮我为我的最终(非静态)变量提供正确的命名约定吗?

在java中,final 变量名通常全部大写,单词之间有下划线

final String METHOD_NAME = "myMethod";

您创建了一个局部变量,它恰好是最终的。因此,根据 http://docs.oracle.com/javase/tutorial/java/nutsandbolts/variables.html.

,您的命名是正确的

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

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

一些文档页面: