【问题标题】:What is the correct term for referring to a path and filename?引用路径和文件名的正确术语是什么?
【发布时间】:2026-01-10 20:35:01
【问题描述】:

我想使用正确的术语来使我的 API 尽可能直观,所以当参数应该是完整路径和文件名(例如“C:\Users\Max\Documents\MyDocument.txt”)时是正确的术语吗?

  • 文件名 - 就是 MyDocument.txt,对吗?
  • 路径 - 应该是 C:\Users\Max\Documents,对吧?

我应该为参数名称使用什么? “文件”是合适的名称吗?

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

【问题讨论】:

  • +1 - 我喜欢你花时间让你的 API 变得直观。
  • +1... 如果您使用 Java 或 C#,您可以随时 punt 然后 javadoc 它。
  • 我会重用 java.io.File 中的术语:absoluteFilePath

标签: language-agnostic parameters naming-conventions


【解决方案1】:

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

如果是相对路径,变化应该很明显。

如果不出意外,您可以随时在文档中创建一个部分来描述您使用的某些术语的含义。

【讨论】:

    【解决方案2】:

    正确的术语是“完全限定名称”(有时是“FQN”)。

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

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

    【讨论】:

    • 真的吗?我听说过用于域名的 FQDN,但从未听说过用于文件的 FQDN。给我看一段实际使用的代码,它使用了 QualifiedName 或 QualifiedFilename 一词。
    • 我不知道有多少程序员会因为“合格”而犹豫不决,答案让我伤心。
    • 我脑后的某件事说有一个 Java API 调用 'getQualifiedName',但我不记得我脑海中的哪个类。
    • 甚至金钱都说 getQualifiedName 指的是一个类而不是一个文件。
    • Google 建议您在处理命名空间时考虑 XML 节点名称。
    【解决方案3】:

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

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

    【讨论】:

      【解决方案4】:

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

      您会在人们编写的许多示例代码中看到:C:\path\to\the\document.txt

      【讨论】:

        【解决方案5】:

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

        【讨论】:

          【解决方案6】:

          我不认为有一个真正的答案,也许是一些共识,但这就是我们所希望的。我通常会尝试遵循我正在使用的库的约定(例如,Cocoa、Java 或 PHP)。如果我无事可做,我会说:

          • 文件:通过名称引用的抽象事物:文件句柄
          • 路径:表示文件或目录位置的字符串,绝对或相对:/Users/Max/Documents/FooBar../Sibling/Zardoz
          • 名称:文件或目录的名称,无位置:FooBarZardozDocuments

          【讨论】:

            【解决方案7】:

            您可能已经考虑过的一个更简单的解决方案是告诉 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)
            {
            
            }
            

            【讨论】:

              最近更新 更多