我正在寻找在我的代码中处理硬编码文件路径/名称的最佳方法。将来它们将是用户输入,但是现在它们只是在代码中硬编码。我有以下可能的选择:
我知道最好的选择取决于代码的细节,但我正在寻找一些想法来选择一个。
答案 0 :(得分:4)
始终为这些数据设置包装函数。如何在不破坏函数用户的情况下轻松修改函数如何获取数据。
如果对象的所有实例的文件名都相同,则使该函数成为静态成员函数。
如果文件名可以与对象的一个实例不同,则使该函数成为常规成员函数。
答案 1 :(得分:3)
以下是工作包装类的示例!
public static void main(String[] args) {
int value = 0;
for (int i = 999; i >= 100; i--) {
int r = value / i;
if (r >= i) {
System.out.println("We broke at i = " + i);
break;
}
for (int j = i; j > r; j--) {
int value1 = i * j;
if (isPalindrome(value1)) {
value = value1;
break;
}
}
}
System.out.println(value);
}
现在,如果你想对此更严格一些,你可以从一个单例的基类继承这个类,这样你就只能创建一个这个对象的实例,但是你需要一个静态的get方法在此类中定义,它将在构造时返回此类指针。然后,您可以在需要它的项目中的任何位置使用const全局指针。
最好有一个错误处理类来捕获和抛出异常!这样,如果输入到存储的路径或要查找的字符串id无效,则将抛出异常。现在您不必使用字符串作为ID,您可以使用unsigned int并将此映射中的这些unsigned int键值与全局枚举关联起来,但这样做起来更简单,并且更友好一点阅读和使用。
这应该让你开始,我希望这有帮助!
在阅读本文之后,我将这个类的方法之一从setPath更新为addPath。我改变了这一点,因为设置声音更像是将单个值设置为单个成员变量,其中添加声音更像是将元素放入容器中。出于偏好的原因,它只是更加清晰,而不是现有的代码是错误的或不起作用。