具有与之关联的方法的静态对象是否应该大写?

Should static objects that have methods associated with them be capitalised?

在 Java 中,将一个对象(例如记录器)声明为

是否更好
private static final Logger logger = LoggerFactory.getLogger();

 private static final Logger LOGGER = LoggerFactory.getLogger();

我认为第一个选项更好,因为当您调用方法时,例如

logger.info("Some information...");

它看起来更好,可读性更强,但我不确定最佳做法是什么?

另一种选择是将对象声明为

private final Logger logger = LoggerFactory.getLogger();

但我认为在 Java 中,如果您可以将某些内容声明为 static,那么您应该这样做。

在我工作的地方,将这些对象大写是惯例,但因为它们是常量 (final) 而不是因为它们是 static。在这种情况下,我还将其声明为 static,因为记录器不应依赖于 class 的实例,而是 class 本身。

常量通常以大写字母声明。同样,这取决于项目偏好。 这可能与线程 Java naming convention for static final variables 重复。

根据 java 约定,声明为 static final 的任何内容都应位于大写字母中,因此您的第一种情况符合约定,而对于最后一种情况,静态变量遵循普通变量约定。