我进行了搜索,找不到涵盖此特定主题的任何其他主题。
public static final Path DIR = ROOT.resolve(NAME);
有什么理由认为这是不好的做法吗?
答案 0 :(得分:3)
主要问题是具有此常量的类与ROOT
的类型之间的紧密耦合。
因此,如果DIR
是在编译时未知的内容,则它应注入到类中(最好作为构造函数参数)并保存在private final
中(但不是 )成员。static
答案 1 :(得分:1)
你做了什么,是一个全局变量的声明。这本身就是不好的做法。我宁愿建议将此变量声明为private并在类的构造函数中初始化它,该构造函数将仅被授予对该目录(?)进行操作的责任。考虑目录路径计算方法将改变的情况。它会影响使用此变量的所有其他类。因此,最好限制任何负面影响。