具有与之关联的方法的静态对象是否应该大写?
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 的任何内容都应位于大写字母中,因此您的第一种情况符合约定,而对于最后一种情况,静态变量遵循普通变量约定。
在 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 的任何内容都应位于大写字母中,因此您的第一种情况符合约定,而对于最后一种情况,静态变量遵循普通变量约定。