我在代码中有一个变量,可以将文件路径或 url 作为值。例子:
http://someDomain/someFile.dat
file://c:\files\someFile.dat
c:\files\someFile.dat
所以有两种表示文件的方法,我不能忽略其中任何一种。这种变量的正确名称是什么:路径、url、位置?
我正在使用第 3 方 api,因此我无法更改语义或分离更多变量。
我在代码中有一个变量,可以将文件路径或 url 作为值。例子:
http://someDomain/someFile.dat
file://c:\files\someFile.dat
c:\files\someFile.dat
所以有两种表示文件的方法,我不能忽略其中任何一种。这种变量的正确名称是什么:路径、url、位置?
我正在使用第 3 方 api,因此我无法更改语义或分离更多变量。
就个人而言,我将有问题的变量称为“fileName”
实际上,正式的 URL 是 file:///c|/files/someFile.dat
urls 总是以 protocol:// 开头,然后是路径 + 名称,以 '/' 作为分隔符。邪恶的windows IE有时用'\'代替'/',但正式用法是'/'。
选择一个您将在内部使用的开始。如果您需要支持 URL,请在内部各处使用 URL,并使用任何可以设置变量的方法检查它是否具有文件路径,并立即将其强制为 URL。
如果您使用的路径包含协议“file://”,那么它实际上是一个 url。
如果这些值对您的应用程序不透明,您可能会发现将它们建模为一个类会更好。否则,每当您要对这些值采取行动时,您可能会发现自己正在编写如下代码:
if (variable.StartsWith("http://") || variable.StartsWith("file://")) { // 处理网址 } 别的 { // 处理文件路径 }
您可以将一些有关值处理的功能折叠到您的类中,但最好将其视为不可变值类型。
为您的类使用描述性名称,例如 FileLocation 或任何适合您命名法的名称。然后很自然地声明名为 fileLocation 或 inputFileLocation 的 FileLocation 变量,甚至如果你草率的话,甚至是 fl。