Language agnostic 引用路径和文件名的正确术语是什么?

Language agnostic 引用路径和文件名的正确术语是什么?,language-agnostic,parameters,naming-conventions,Language Agnostic,Parameters,Naming Conventions,我希望使用正确的术语使我的API尽可能直观,因此当参数预期为完整路径和文件名(例如“C:\Users\Max\Documents\MyDocument.txt”)时,正确的术语是什么 文件名-就是MyDocument.txt,对吗 路径-应该是C:\Users\Max\Documents,对吗 我应该使用什么作为参数名?“file”是合适的名称吗 问这个问题我觉得有点傻,但我想确保它是正确的。一个经常被过度使用的术语是,尽管你的例子并不是这样的例子。我想如果您只使用“文件路径”或“路径名”,

我希望使用正确的术语使我的API尽可能直观,因此当参数预期为完整路径和文件名(例如“C:\Users\Max\Documents\MyDocument.txt”)时,正确的术语是什么

  • 文件名-就是MyDocument.txt,对吗
  • 路径-应该是C:\Users\Max\Documents,对吗
我应该使用什么作为参数名?“file”是合适的名称吗


问这个问题我觉得有点傻,但我想确保它是正确的。

一个经常被过度使用的术语是,尽管你的例子并不是这样的例子。我想如果您只使用“文件路径”或“路径名”,您将非常清楚


例如,Java的文件对象使用“pathname”作为其对象上构造函数的参数名。

通常路径是完整的
C:\Users\Max\Documents\MyDocument.txt
,而
C:\Users\Max\Documents\
部分通常称为基本目录或仅仅是目录

您将在人们编写的许多示例代码中看到:
C:\path\to\the\document.txt
正确的术语是“完全限定名”(有时是“FQN”)

您应该在API中使用的术语是“QualifiedName”或“QualifiedFilename”


Wikipedia有一个“”的条目,并将其定义为“计算机上的一个文件,其确切名称已完全指定,因此它是明确的,并且不会被误认为是该系统上的任何其他文件。”

我认为没有一个正确的答案,可能是某种共识,但这就是我们所希望的。我通常尝试遵循我正在使用的库的约定(例如,Cocoa、Java或PHP)。如果我没有什么依据,我会说:

  • 文件:通过名称引用的抽象对象:文件句柄
  • 路径:一个字符串,指示文件或目录的绝对或相对位置:
    /Users/Max/Documents/FooBar
    。/Sibling/Zardoz
  • 名称:文件或目录的名称,不带位置:
    FooBar
    Zardoz
    Documents

我会像你说的那样选择完整路径,路径是C:\Users\Max\Documents,但阅读完整路径会建议使用路径+文件名。

对于指向文件的某些路径,我的建议是“绝对文件路径”,而对于指向目录的路径,我会使用“绝对目录路径”

在相对路径的情况下,变化应该是明显的


如果没有其他内容,您可以在文档中创建一个部分,描述您使用的某些术语的含义。

您可能已经考虑过的一个更简单的解决方案是告诉API的使用者XML文档中的预期内容,如果您使用文档编译程序集并分发.xml文件,它也将出现在Visual Studio intellisense中

/// <summary>
/// Saves the provided file to disk.
/// </summary>
/// <param name="filePath">The full path, including the filename of the file.</param>
public void SaveFile(string filePath)
{

}
//
///将提供的文件保存到磁盘。
/// 
///完整路径,包括文件名。
公共void保存文件(字符串文件路径)
{
}

+1-我喜欢你花时间让API更直观。+1。。。如果你使用的是Java或C语言,你总是可以先用punt,然后用javadoc。我会重复使用Java.io.File中的术语:absoluteFilePathReally?我听说过域名的FQDN,但从未听说过文件的FQDN。给我看一段实际使用的代码,其中使用了术语QualifiedName或QualifiedFilename。我想知道有多少程序员会因为“Qualified”而对此犹豫不决这个答案让我很难过。我脑后的想法是有一个Java API调用'getQualifiedName',但我不记得我脑子里想的是哪个类。就连money都说getQualifiedName指的是一个类,而不是一个文件。Google建议你在处理名称空间时考虑的是XML节点名。