如果我有一个包含文件的完全限定名称的变量(例如,项目文件),那么它应该被称为projectFile
,projectFileName
还是projectPath
?或其他什么?
答案 0 :(得分:7)
我通常会选择这些:
FileName
仅限文件名(无路径)FilePath
仅用于父路径(没有文件名)FileFullName
表示路径为我认为没有这样的事情可以接受。我取决于您(团队)的偏好以及您是否需要在给定情况下区分这三者。
编辑:我对这些特定命名约定的看法是:
我不能总是坚持这些惯例,但我努力。如果我决定使用特定的命名模式,即使这意味着我必须编写更多描述性(=更长)的变量名称,我仍然保持一致。代码更经常被阅读而不是书面,因此额外的打字不会给我带来太多麻烦。
答案 1 :(得分:2)
System.IO.Path似乎将文件的完全限定名称称为path
,文件本身的名称称为filename
,其包含的目录为directory
。我建议在你的情况下,如果你在System.IO.Path的上下文中使用,projectPath
最符合这个术语。然后我将文件名称称为fileName
,它包含的目录为parentDirectory
。
答案 2 :(得分:1)
你应该在它可能包含的文件后标题,即:
system_configuration_file_URI
user_input_file_URI
document_template_file_URI
“file”或“filename”在其他方面大多无用
此外,“文件”可能意味着“我是一个文件点”,这是不明确的,“文件名”没有说明它是否有上下文(即:目录),fileURI是上下文明确的,因为它说“这是资源标识符,在观察时,指向资源(文件)“
答案 3 :(得分:1)
我认为对此没有达成共识,只是努力保持一致。
.NET Framework中的示例:
FileStream(字符串路径...);
Assembly.LoadFrom(string assemblyFile)
XmlDocument.Load(字符串文件名)
甚至文件名(filename / fileName)的大小也在框架中不一致,例如:
答案 4 :(得分:1)
一些想法:
projectFile
可能不是字符串 - 它可能是表示文件解析内容的对象。projectFileName
可能不完全合格。如果该文件实际上是"D:\Projects\MyFile.csproj"
,则可能需要包含"MyFile.csproj"
。projectPath
可能被视为文件的完全限定路径,或者可能被视为包含该文件的父文件夹的名称。projectFolder
可能被认为是保存父文件夹的名称,或者它实际上可能是代码中某种Folder
抽象的实现。 .NET有时会使用path
来引用文件,有时会使用filename
。
答案 5 :(得分:1)
请注意,“filename”在英语中是一个单词!没有必要将标识符中间的“n”大写。
也就是说,我将Filename
附加到包含文件名的所有字符串变量中。但是,我试图避免这种情况,而是支持在支持一种文件和目录的语言中使用强类型变量。毕竟,这个是那些可扩展类型的系统。
在强类型语言中,通常不需要描述性后缀(特别是在函数参数中),因为变量类型和用法会推断其内容。
答案 6 :(得分:0)
所有这一切部分取决于方法的大小以及变量是否为类变量。
如果它们是类变量或大型复杂方法,请遵循Kent Fredric的建议,并将其命名为 该文件的用途,即“projectFileName”。
如果这是一个小实用程序方法,比如删除文件,则不要将其命名为“projectFileName”。简单地称它为“文件名”然后。
我永远不会将其命名为“path”,因为这意味着它指的是它所在的文件夹。
将其称为“文件”即可,如果还没有其他变量,例如“fileID”或“filePtr”。
因此,我会使用“folder”或“path”来标识文件所在的目录。
和“fileID”代表文件对象。
最后,“filename”表示文件的实际名称。
快乐编码,
好色
答案 7 :(得分:0)
根据选项的上述答案含义不明确且没有广泛接受的名称,如果这是一个请求文件位置的.NET方法,那么在XML注释中指定你想要的内容,以及例如,如果他们不确定您想要什么,另一位开发人员可以参考。
答案 8 :(得分:0)
这取决于您环境中使用的命名约定,例如在Python中,由于os.path模块的命名约定,答案为projectpath
。
>>> import os.path
>>> path = "/path/to/tmp.txt"
>>> os.path.abspath(path)
'c:\\path\\to\\tmp.txt'
>>> os.path.split(path)
('/path/to', 'tmp.txt')
>>> os.path.dirname(path)
'/path/to'
>>> os.path.basename(path)
'tmp.txt'
>>> os.path.splitext(_)
('tmp', '.txt')