【发布时间】:2017-08-28 11:19:31
【问题描述】:
我正在审查我的一位资深同事编写的一些代码。在单元测试类中,他像这样使用private final 类变量:
public class SomeProcessingServiceUT {
private final String modelNumber = "ABC01";
private final String serialNumber = "000002";
private final String PrimaryId = "15033520583";
private final String CheckinTime ="20021010:00-05";
.....
}
而他所做的只是访问所有这些变量,例如 this.modelNumber 等等。
我想质疑他为什么不使用静态声明纯常量以及为什么使用这种混合命名的意图。但我想在这里也与社区分享我的疑问。这有点令人困惑。任何智慧都会有所帮助。
【问题讨论】:
-
你问过他吗?
-
@Jacob 我很快就会问他。但我想先知道这是否是一种不好的做法?
-
仅凭这段代码很难猜出你同事的意图。断章取义,这看起来很愚蠢,但他很可能有他的理由。不要犹豫,问他。
-
如果他只想读取声明类实例中的字段,那么我认为没有理由将它们设为静态。在我看来,使用 final 必须被视为对 Java 约定的良好使用。
标签: java naming-conventions compile-time-constant